1

我正在使用用户脚本修改的网站有一些我想修改的文本。文本中似乎有一个 unicode 字符。当我在屏幕上查看它甚至使用 jQuery 将其提取到变量时,它看起来像这样:

2 others

但是,如果我用相同的文本创建自己的变量然后进行比较,它们就会出现错误。所以我将网站的文本复制/粘贴到 vim 中,它看起来像这样:

2<200e> others

最好我能说这是空格(?)的Unicode字符。我希望能够将此字符串与正则表达式匹配,例如:

^(\d+(?:,\d+)*)\s+(.*)

但是在这个带有嵌入的 unicode 字符的字符串上它失败了。(它适用于我自己键入的“其他 2 个”文本)。

有什么方法可以从文本中删除这个 unicode 吗?我尝试了以下方法,但无济于事:

text.replace('\u200e\','')

text.replace('200e','')

text.replace('\%20','')

text.replace('\%u200e','')

或者,或者,我可以调整我的正则表达式以匹配“2 个其他人”或与嵌入的 200e unicode char 相同的文本吗?

4

1 回答 1

5

尝试改用实际的正则表达式。

text = text.replace(/\u200e/g, '');

我可以调整我的正则表达式以匹配“2 个其他人”或与嵌入的 200e unicode char 相同的文本吗?

您也可以更改\s正则表达式中的 以包括 U+200E ,例如

^(\d+(?:,\d+)*)[\s\u200e]+(.*)
于 2012-10-03T08:12:03.317 回答