java - 通用分词器

标签 java string unicode split tokenize

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

对于给定的输入文本文档: 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/

相关文章:

java - java发送邮件时出现问题

java - 定义使用 API 的规则的标准方法,也许是动态 UI

PHP strcmp 函数

mysql - 如何在 MySQL Workbench for Mac 中正确显示 unicode 字符?

unicode - 我如何使用单字节和二进制! Rebol 3 中的字节数组?

java - 从 Eclipse 调试 JSP

java - 在应用程序启动时从 Cassandra 加载数据

c - 在结构体中设置 const char 指针

关于 ""的 php mysql 查询语法问题

java - 当路径/名称包含 Unicode 字符时如何运行可执行 JAR?