提取中文字符串中的词语的java源码
时间: 2023-10-08 15:10:05 浏览: 81
提取输入字符串中的单词源代码
3星 · 编辑精心推荐
下面是一个简单的 Java 实现,使用正则表达式和分词器来提取中文字符串中的词语:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.ansj.splitWord.analysis.ToAnalysis;
public class ChineseWordExtractor {
public static List<String> extract(String input) {
List<String> words = new ArrayList<>();
// 正则表达式匹配中文字符
Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]+");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String match = matcher.group();
// 使用分词器分词
List<String> segmented = ToAnalysis.parse(match).getTerms();
words.addAll(segmented);
}
return words;
}
public static void main(String[] args) {
String input = "我爱北京天安门,天安门上太阳升。";
List<String> words = extract(input);
System.out.println(words);
}
}
```
上述代码中,首先使用正则表达式 `[\\u4e00-\\u9fa5]+` 匹配中文字符,然后使用分词器 `ToAnalysis` 对每个匹配到的字符串进行分词,最后将所有分词结果存储到列表中并返回。在 `main()` 方法中,我们演示了如何使用该方法提取中文字符串中的词语。
阅读全文