我試圖從字符串中去除所有「Unicode符號」。也就是說,保留所有的多語言字符,但刪除dingbats,箭頭,以及所有這些東西。JavaScript等效於C#的Char.IsSymbol
C#有一個非常方便的函數,稱爲Char.IsSymbol
,可以在字符串的所有字符上運行,當函數返回true
時剝離字符。
我一直在尋找類似於JavaScript的東西。如果它是一個正則表達式,那麼如何編譯符號字符的所有unicode範圍的列表?我看了XRegExp,但找不到只能過濾符號的東西。
我試圖從字符串中去除所有「Unicode符號」。也就是說,保留所有的多語言字符,但刪除dingbats,箭頭,以及所有這些東西。JavaScript等效於C#的Char.IsSymbol
C#有一個非常方便的函數,稱爲Char.IsSymbol
,可以在字符串的所有字符上運行,當函數返回true
時剝離字符。
我一直在尋找類似於JavaScript的東西。如果它是一個正則表達式,那麼如何編譯符號字符的所有unicode範圍的列表?我看了XRegExp,但找不到只能過濾符號的東西。
XRegExp確實有你要找的支持 - http://xregexp.com/plugins/#unicode
你可能匹配無論是\pL
或\pS
。您可以在http://www.regular-expressions.info/unicode.html#category
中找到典型的unicode類別的一個很好的列表。總的來說,Unicode是相當棘手的。它給你帶來很多機會給你帶來麻煩,特別是對於不完全兼容Unicode的軟件(不幸的是,這包括JavaScript - 參見https://mathiasbynens.be/notes/javascript-unicode提供了一組很好的示例)。 JS通常以雙重編碼(HTML + JS,以及更糟的情況)運行,這進一步加劇了這一點。有人可能會找到一種方法來繞過你的支票,但恐怕沒有簡單的方法來阻止。只是在監視:)
應該更詳細地閱讀有關XRegExp的內容。 –
以下@ Luaan的建議,我用XRegExp,但因爲我不想在我的主要項目中包括整個庫我用'toString'提取'本機'JS正則表達式對象()'的XRegExp對象。 –