法語中的標點符號之前有空格是常規操作。替換某些字符之前/之後的空格
我有文字是這樣的:
保羅m'a DIT«卓悅! »
我想一個jQuery/javascript函數與之前下列字符非中斷空格來代替常規空格:
! : ? … ; »
和這個角色後:
«
莫非任何人都指向正確的方向?先謝謝你。
法語中的標點符號之前有空格是常規操作。替換某些字符之前/之後的空格
我有文字是這樣的:
保羅m'a DIT«卓悅! »
我想一個jQuery/javascript函數與之前下列字符非中斷空格來代替常規空格:
! : ? … ; »
和這個角色後:
«
莫非任何人都指向正確的方向?先謝謝你。
像這樣(編輯:測試工作)
function replaceNonBreaking(text) {
return text.replace(/ (!|:|\?|…|;|»)/g, " $1").replace('« ', '« ');
}
更換所有出現的 「[空格] [特殊字符]」 到「[不間斷空格] [是特殊字符] 「在字符串中。
很可能有一個比這更好的正則表達式的方法(正則表達式是我的垮臺),但是這一個工程:
str = str.replace(/\s([!:\?…;»])/g, function (el1, el2) {
return ' ' + el2;
}).replace(/(«)\s/g, function (el1, el2) {
return el2 + ' ';
});
你可以這樣做:
var str = 'Paul m\'a dit : « Bonjour ! »';
var corrected_str = str.replace(/ (!|\:|\?|…|;|»)/g, ' $1', str).replace('« ', '« ');
(我認爲你應該在«之前也加入一個非休息空間。)
你試過什麼嗎? – somethinghere