regex js:用unicode替换字符

时间:2016-10-04 09:45:54

标签: javascript jquery html regex

我正在编写一个jQuery插件,用!?替换NARROW NO-BREAK SPACE之前的空格或非空格,因为它在法语中很常见。问题是我无法通过unicode角色替换某些东西。

var text = $(this).text();
$(this).text(text.replace(/.\?/g, '\u202F\?')); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Contrary to popular belief, Lorem Ipsum is not simply; random text ! It has roots in a piece. of classical Latin literature from 45 BC?</p>

2 个答案:

答案 0 :(得分:0)

http://example.com/rest/ful/url/{value of search}/之前的所有空格和非空格都将被http://example.com/rest/ful/url/jQuery/

取代
jQuery

https://jsfiddle.net/tct4e73c/1/

<强>更新

添加了?

NARROW NO-BREAK SPACE

https://jsfiddle.net/tct4e73c/2/

答案 1 :(得分:0)

仅查看文本替换,

    text.replace(/[ \u202F]*([!\?])/g, "\u202F$1")

text中转换零个或多个空格或缩小非中断空格字符,然后是“!”或'?',进入一个狭窄的非休息空间字符,然后是'!'要么 '?'字符匹配(在Firefox和IE中测试)。

[ \u202F]
正则表达式中的

定义了一个匹配空格的字符集,并包含狭窄的非破坏空格字符本身。这可以扩展为包含特定的其他空格字符,例如非中断空格(\u00A0),标签或替换为\s以匹配任何空白字符(包括换行符)。