for loop Java搜索字符串列表(如果包含另一个字符串列表)
我有一个用户推文列表(usersTweets
),我需要找到包含特定关键字(listOfkeyWord
)的推文,并将匹配项添加到(includeKeyWord
)列表中
String keyWord = "one,two";
List<String> usersTweets = new ArrayList<String>();
usersTweets.add("three nine one two");
usersTweets.add("seven one");
usersTweets.add("three nine ten one");
usersTweets.add("....");
List<String> includeKeyWord = new LinkedList<String>();
if (keyWord.contains(",")) {
List<String> listOfkeyWord = new ArrayList<String>(Arrays.asList(keyWord.split(",")));
for (String tweet : usersTweets) {
if (tweet.contains(listOfkeyWord)) {
includeKeyWord.add(tweet);
}
}
}
注意:
如何检查每条推文是否包含关键字列表。在这个例子中,我希望在(includeKeyWord
)中只包含字符串“三九一二”,因为它包含单词“一”和“二”
# 1 楼答案
基本上,你想检查推特上是否有所有的单词,所以你需要遍历这些单词的列表,并检查你的推特上是否有所有的单词,你可以这样做:
现在你不用
tweet.contains(words)
而是hasAllTheWords(tweet, words)
。你也可以把你的推文转换成一个单词列表,然后你已经有的就可以了(tweet.contains(words)
),所以你也可以试试这个:Arrays.asList(tweet.split(" ")).contains(words)
如果你尝试这种解决方案,记得要注意标点(
, . ... ! ?
等等)