簡體   English   中英

如何從javascript中的字符串中剝離(或正則表達式匹配)unicode字符?

[英]how to strip (or regex match) a unicode character from a string in javascript?

我正在使用用戶腳本修改的網站上有一些我想修改的文本。 文本中似乎包含Unicode字符。 當我在屏幕上查看它甚至使用jQuery將其提取為變量時,它看起來像這樣:

2 others

但是,如果我用相同的文本創建自己的變量,然后進行比較,則它們將顯示為false。 所以我將站點的文本復制/粘貼到了vim中,它看起來像這樣:

2<200e> others

最好的說來,這是一個空格(?)的unicode字符。 我希望能夠將此字符串與正則表達式匹配,例如:

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

但是在帶有嵌入的unicode字符的字符串上它失敗。 (在我自己輸入的“ 2個其他”文本上效果很好)。

有什么辦法可以將unicode從文本中剝離出來? 我嘗試了以下操作,但無濟於事:

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

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

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

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

或者,可以將我的正則表達式調整為與嵌入的200e unichar字符匹配“ 2個其他”或相同文本嗎?

嘗試改用實際的正則表達式。

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

如何調整我的正則表達式以使其與嵌入的200e unicode字符匹配“ 2個其他”或相同文本?

您可以只更改正則表達式中的\\s使其也包含U + 200E,例如

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM