Java 是否有检测方向字符的标准方法?
我正在解析一个由它生成的文本文件,基本上我创建了一个Ctrl+a,并将所有内容复制/粘贴到一个文本文件中。(我以它为例)。 我正在尝试创建一个包含单词计数的列表,为此,我使用带此分隔符的扫描仪:Java 是否有检测方向字符的标准方法?,java,character,Java,Character,我正在解析一个由它生成的文本文件,基本上我创建了一个Ctrl+a,并将所有内容复制/粘贴到一个文本文件中。(我以它为例)。 我正在尝试创建一个包含单词计数的列表,为此,我使用带此分隔符的扫描仪: sc.useDelimiter("[\\p{javaWhitespace}\\p{Punct}]+"); 它非常适合我的需要,但是分析结果,我看到了一些看起来像空白标记()的东西。字符位于(尼诺尔斯克)之后在文章中(当我在这里复制/粘贴字符时很有趣,在gedit中我可以使用→ 及← 并且光标
sc.useDelimiter("[\\p{javaWhitespace}\\p{Punct}]+");
它非常适合我的需要,但是分析结果,我看到了一些看起来像空白标记()的东西。字符位于(尼诺尔斯克)之后代码>在文章中(当我在这里复制/粘贴字符时很有趣,在gedit中我可以使用→ 及← 并且光标不移动)
经过进一步研究,我发现这个代币实际上是
它不是唯一的方向性字符,查看Java似乎可以定义它们
所以我想知道是否有一种检测这些字符的标准方法,如果可能的话,是否有一种可以轻松集成到分隔符模式中的方法
我希望避免自己列出清单,因为我担心我会忘记其中的一些。你可以反过来使用白名单而不是黑名单:
sc.useDelimiter("[^\\p{L}]+");
你可以反过来使用白名单而不是黑名单:
sc.useDelimiter("[^\\p{L}]+");
难道这些字符实际上不控制以下文本的解释方式吗?你确定把这些信息扔掉是个好主意吗?@NiklasB。是的,在这个特殊情况下,我不需要它,我只需要统计数据,这样文本流就不重要了。很公平,我只想提一下:)你做得很好,因为它给了我一个关于我工作其他部分的想法;)换个角度,用[^\p{L}]+
作为分隔符怎么样?这些字符实际上不控制下面文本的解释方式吗?你确定把这些信息扔掉是个好主意吗?@NiklasB。是的,在这个特殊情况下,我不需要它,我只需要统计数据,这样文本流就不重要了。很公平,我只想提一下:)你做得很好,因为它给了我一个关于我工作其他部分的想法;)换个角度,用[^\p{L}]+
作为分隔符怎么样?非常感谢,我不必再使用\\p{javaWhitespace}\\p{Punct}
了,你是对的。非常感谢,我不必再使用\\p{javaWhitespace}\\p{Punct}
了,你是对的。