gpt4 book ai didi

java - 字符串中不在字符串数组中的单词数

转载 作者:行者123 更新时间:2023-12-01 10:14:44 24 4
gpt4 key购买 nike

我想创建一个方法,返回字符串中没有在字符串数组中出现的单词的单词数。我想仅使用 java.lang 包中的任何内容来实现此逻辑。

public int count(String a, String[] b) {

}

例如

count("  hey   are  you there    ", new String[]{ "are", "i", "am"})

将返回 3,因为字符串中有单词“are”。

首先,我想我必须使用 string.split 函数将字符串转换为字符串数组。有什么想法吗?

最佳答案

您可以简单地执行以下操作:

public int count(String a, String[] b) {
int count = b.length;
for(String s : b) if(a.contains(s)) count--;
return count;
}

编辑:我可能很困惑,我以为你想要 b 中的字符串数而不是 a 中的字符串(在你的示例中它仍然是 3)。在这种情况下,从您的示例来看,除非您使用 regex,否则 split 似乎不方便,因此您可以使用 Scanner 创建一个 String[] :

public int count(String a, String[] b) {
ArrayList<String> words = new ArrayList<String>();
Scanner scan = new Scanner(a);
while(scan.hasNext()) words.add(scan.next());

int count = words.size();
for(String s : words) if(/*b contains s*/) count--;
return count;
}

关于java - 字符串中不在字符串数组中的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35966989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com