Tha*_*ama 7 javascript regex string
我正在寻找一个正则表达式来替换字符串中的'NO-BREAK SPACE'.
SO上有一些与"NO-BREAK SPACE"相关的问题,但似乎没有一个问题能让我找到正确的答案.
到目前为止,我试图使用(字符串"A B"的第二个字符是一个无休息空间)但没有成功:
"A?B".replace(new RegExp(String.fromCharCode(160),"g"),"xxx");
"A?B".replace($('<b> </b>').text(), 'xxx');
"A?B".replace(/\xA0/,'xxx');
"A?B".replace(/\\xA0/,'xxx');
"A?B".replace(/\u00A0/,'xxx');
"A?B".replace(/\\u00A0/,'xxx');
Run Code Online (Sandbox Code Playgroud)
更新:愚蠢的我.真相是我用错误的角色测试了很长一段时间.
geo*_*org 16
你的字符串中的实际字符是NARROW NO-BREAK SPACE(U + 202F),而不是通常的字符\xA0
.
就像是
.replace(/[\u202F\u00A0]/, "...")
Run Code Online (Sandbox Code Playgroud)
应该适合你.
Rak*_*ari 11
除了空格、NO-BREAK SPACE 等之外,还有其他空格字符也可以出现在字符串中。
这是空格的完整 Unicode 列表。来源: http: //jkorpela.fi/chars/spaces.html
数字 | 角色名字 |
---|---|
\u0020 | 空间 |
\u00A0 | 不间断空间 |
§1680 | 奥格姆空格标记 |
§180E | 蒙古语元音分隔符 |
§2000 | 四人组 |
§2001 | 四边形 |
§2002 | 空间(坚果) |
§2003 | em 空间(羊肉) |
§2004 | 每三个空格(厚空格) |
§2005 | 每四个空间(中间空间) |
§2006 | 每人六人的空间 |
§2007 | 图形空间 |
§2008 | 标点空格 |
§2009 | 狭小的空间 |
§200A | 头发空间 |
?? | 零宽度空间 |
§202F | 狭窄的不间断空间 |
§205F | 中等数学空间 |
¥3000 | 表意空间 |
\uFEFF | 零宽度不间断空间 |
因此,要替换所有奇怪的空格
.replace(/[\u00A0\u1680\u180E\u2000-\u200B\u202F\u205F\u3000\uFEFF]/, " ")
Run Code Online (Sandbox Code Playgroud)
从上面的内容中,您可以排除\u1680
,因为它“通常不是真正的空格,而是破折号”。
归档时间: |
|
查看次数: |
7085 次 |
最近记录: |