0

我正在寻找一些可以帮助我执行以下操作的库:

对于给定的输入文本文档: 1. 将文档转换为小写(简单。使用 toLowerCase 函数求解) 2. 删除符号 3. 标记生成单词列表

例如: "A,B; C\nD. F" 应该导致 ["a", "b", "c", "d", "e", "f"] 。

它应该适用于所有语言。除了英语,我还有一些俄语、中文和日语文本。

这是我尝试过的:

如果我只处理英语,用空字符串替换所有非字母数字字符中提到的解决方案可以很容易地适应我的问题。

java.util.StringTokenizer 有点用,但不会删除符号。

这就是我正在寻找的: 一种执行所有这三个操作的优雅方式。不寻找复杂的(即长度)代码(如果没有优雅的解决方案,我可以自己编写)。

4

1 回答 1

1

您是否尝试过使用String.split()使用符号和空格作为分隔符的正则表达式?

与此类似的东西。

document.toLowerCase().split(["\\p{Punct}\\s]+");

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~其中 \p{Punct}根据Pattern等于。

这将删除所有符号和空格并返回一个字符串数组,该数组将是您的标记列表,没有任何符号。

于 2013-04-09T20:02:27.943 回答