提取中文字符串中的词语,并统计出现的次数的java源码
时间: 2023-11-18 10:02:27 浏览: 113
以下是一个简单的Java程序,可以提取中文字符串中的词语,并统计它们出现的次数:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ChineseWordCount {
public static void main(String[] args) {
String str = "这是一个中文字符串,其中包含很多词语,比如说“中文”,“字符串”,“词语”,“统计”等等。";
Map<String, Integer> wordCount = countChineseWords(str);
System.out.println(wordCount);
}
public static Map<String, Integer> countChineseWords(String str) {
Map<String, Integer> wordCount = new HashMap<>();
Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]+");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
String word = matcher.group();
if (wordCount.containsKey(word)) {
wordCount.put(word, wordCount.get(word) + 1);
} else {
wordCount.put(word, 1);
}
}
return wordCount;
}
}
```
这个程序使用正则表达式来匹配中文字符(Unicode编码范围为`\u4e00-\u9fa5`),然后使用`Map`来统计每个词语出现的次数。在示例中,我们使用一个简单的字符串来演示这个程序。你可以将其替换为你想要统计的任何中文字符串。
阅读全文