我正在寻找一些可以帮助我执行以下操作的库:
对于给定的输入文本文档: 1.将文档转换为小写(简单。用toLowerCase函数解决) 2. 删除符号 3. 分词生成单词列表
例如:“A,B; C\nD.F”应得到 ["a", "b", "c", "d", "e", "f"] 。
它应该适用于所有语言。除了英文之外,我还有一些俄文、中文和日文文本。
这是我尝试过的:
Replacing all non-alphanumeric characters with empty strings中提到的解决方案如果我只处理英语,可以很容易地适应我的问题。
java.util.StringTokenizer 可以工作,但不会删除符号。
这是我正在寻找的内容: 执行所有这三个操作的优雅方式。不需要寻找复杂的(即长度)代码来完成它(如果没有优雅的解决方案,我可以自己编写它)。
最佳答案
您是否尝试过使用 String.split()
使用使用符号和空格作为分隔符的正则表达式?
与此类似的东西。
document.toLowerCase().split(["\\p{Punct}\\s]+");
其中\p{Punct} 等于 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
根据Pattern .
这将删除所有符号和空格,并返回一个字符串数组,该字符串将是不带任何符号的标记化列表。
关于java - 通用分词器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15910893/