我正在编写一个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>
答案 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
答案 1 :(得分:0)
仅查看文本替换,
text.replace(/[ \u202F]*([!\?])/g, "\u202F$1")
在text
中转换零个或多个空格或缩小非中断空格字符,然后是“!”或'?',进入一个狭窄的非休息空间字符,然后是'!'要么 '?'字符匹配(在Firefox和IE中测试)。
[ \u202F]
正则表达式中的定义了一个匹配空格的字符集,并包含狭窄的非破坏空格字符本身。这可以扩展为包含特定的其他空格字符,例如非中断空格(\u00A0
),标签或替换为\s
以匹配任何空白字符(包括换行符)。