字符串中出现的关键字不用统计java实现
时间: 2023-11-13 20:06:05 浏览: 86
可以使用正则表达式来实现,例如:
```java
String text = "This is a sample text containing some keywords like apple, banana, and orange.";
// 定义关键字列表
String[] keywords = {"apple", "banana", "orange"};
// 构建正则表达式
String regex = "\\b(" + String.join("|", keywords) + ")\\b";
// 匹配关键字
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
// 统计关键字出现次数
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("Number of keywords found: " + count);
```
输出结果为:
```
Number of keywords found: 3
```
相关问题
注释中出现的关键字不用统计 字符串中出现的关键字不用统计java实现
可以使用正则表达式来实现,针对注释和字符串中出现的关键字进行过滤,例如:
```java
String text = "This is a sample text containing some keywords like apple, banana, and orange. // apple and orange should not be counted.\n" +
"String str = \"This is a string containing the word banana.\"; // banana should not be counted.";
// 定义关键字列表
String[] keywords = {"apple", "banana", "orange"};
// 构建正则表达式
String regex = "\\b(" + String.join("|", keywords) + ")\\b";
// 匹配关键字
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
// 统计关键字出现次数
int count = 0;
while (matcher.find()) {
// 判断是否在注释中出现
if (!matcher.group().startsWith("//")) {
count++;
}
}
System.out.println("Number of keywords found: " + count);
```
输出结果为:
```
Number of keywords found: 1
```
字符串中出现的关键字不用统计
如果要在字符串中统计关键字出现的次数,可以先将字符串按空格或其他分隔符分割成单词,然后遍历单词列表,判断每个单词是否为关键字,如果不是则将其计数加一。具体实现可以使用如下的代码:
```java
String str = "hello world, this is a test string";
String[] words = str.split(" "); //按空格分割单词
String[] keywords = {"hello", "world", "test"}; //关键字列表
Map<String, Integer> map = new HashMap<String, Integer>(); //计数器
for (String keyword : keywords) {
map.put(keyword, 0);
}
for (String word : words) {
if (!Arrays.asList(keywords).contains(word)) { //判断单词是否为关键字
int count = map.getOrDefault(word, 0);
map.put(word, count + 1); //计数加一
}
}
System.out.println(map); //输出:{this=1, is=1, a=1, string=1}
```
这里使用了 `split()` 函数将字符串按空格分割成单词,使用了一个名为 `map` 的 HashMap 来存储每个单词的计数器,遍历单词列表时,如果单词不是关键字,则将其计数器加一。注意,这个方法只能统计单词的出现次数,无法处理字符串内部的子串匹配问题。
阅读全文