是否有检测方向性的标准方法?

时间:2012-05-26 13:35:45

标签: java character

我正在解析由此Wikipedia article制作的文本文件,基本上我创建了一个 Ctrl + A 并复制/粘贴文本文件中的所有内容。 (我用它作为例子)。 我正在尝试用他们的计数制作一个单词列表,为此我使用带有这个分隔符的扫描程序:

    sc.useDelimiter("[\\p{javaWhitespace}\\p{Punct}]+");

它非常适合我的需要,但是分析结果后,我看到的东西看起来像一个空白的标记(again...)。这个角色在文章中(nynorsk)‬之后(当我在这里复制/粘贴这个角色时很有趣,在gedit中我可以使用并且光标没有不动了。

经过进一步研究后,我发现这个令牌实际上是POP DIRECTIONAL FORMATTING (U+202C)

这不是唯一的方向性角色,看着Character documentation Java似乎定义了它们。

所以我想知道是否有一种标准的方法可以检测这些字符,如果可能的话,可以轻松地将其集成到分隔符模式中

我想避免制作自己的名单,因为我担心我会忘记其中的一些。

1 个答案:

答案 0 :(得分:1)

你总是可以反过来使用白名单而不是黑名单:

sc.useDelimiter("[^\\p{L}]+");