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

2 others

但是,如果我用相同的文本创建自己的变量,然后进行比较,则它们将显示为false。所以我将站点的文本复制/粘贴到了vim中,它看起来像这样:

2<200e> others

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

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

但是在带有嵌入的unicode字符的字符串上它失败。 (在我自己输入的“ 2个其他”文本上效果很好)。

有什么办法可以将unicode从文本中剥离出来?我尝试了以下操作,但无济于事:

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

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

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

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

或者,是否可以调整正则表达式以使其与嵌入式200e Unicode字符匹配“ 2个其他”或相同文本?

最佳答案

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

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





  如何调整我的正则表达式以使其与嵌入的200e unicode字符匹配“ 2个其他”或相同文本?


您只需在正则表达式中将\s更改为也包含U + 200E,例如

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

关于javascript - 如何从javascript中的字符串中剥离(或正则表达式匹配)unicode字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12704296/

10-12 00:14
查看更多