法语中的标点符号之前有空格是常规操作。替换某些字符之前/之后的空格
我有文字是这样的:
保罗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