JavaScript相当于C#的Char.IsSymbol

时间:2016-06-07 08:41:46

标签: javascript regex unicode

我正在尝试从字符串中删除所有“Unicode符号”。也就是说,保留所有多语言角色,但删除 dingbats 箭头以及所有这些东西。

C#有一个非常方便的函数叫set.seed(24) db <- data.frame(value = rnorm(61*3)) ,它可以在字符串的所有字符上运行,当函数返回Char.IsSymbol时剥离字符。

我一直在寻找在JavaScript中做类似的事情。如果它是正则表达式,那么如何编译符号字符的所有unicode范围的列表?我看了XRegExp,但找不到只过滤符号的内容。

1 个答案:

答案 0 :(得分:1)

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,以及更糟糕的情况)运行,这进一步加剧了这种情况。有人可能会找到绕过你的支票的方法,但我担心没有简单的方法可以防止这种情况发生。只是在了望:)