检查Java字符串中可用的任何给定单词
你好,我正在尝试实现一个逻辑 1我将收到多条消息 传真: 解决方案不起作用, 错过了什么, 消息失败, 如期工作 2我列出了不起作用、遗漏、失败的单词 我需要考虑只包含任何一个词的消息。 已尝试使用string.containsword1 | | string.containsword2,但字数为n。检查Java字符串中可用的任何给定单词,java,string,Java,String,你好,我正在尝试实现一个逻辑 1我将收到多条消息 传真: 解决方案不起作用, 错过了什么, 消息失败, 如期工作 2我列出了不起作用、遗漏、失败的单词 我需要考虑只包含任何一个词的消息。 已尝试使用string.containsword1 | | string.containsword2,但字数为n。 谢谢以下是您问题的完整解决方案: package com.sujit; import java.util.ArrayList; import java.util.List; public c
谢谢以下是您问题的完整解决方案:
package com.sujit;
import java.util.ArrayList;
import java.util.List;
public class CompareMessages{
public static void main(String[] args) {
//Assume the messages as per you said
List<String> messages = new ArrayList<>();
messages.add("Solution not working");
messages.add("Message Failed");
messages.add("Missed something");
messages.add("This message will be ignored");
//Your standard list of words
List<String> list = new ArrayList<>();
list.add("Not working");
list.add("missed");
list.add("failed");
Integer count=0;
String msg = null; //this will store which message will be ignored
for (String string : messages) {
for(String standard : list) {
if(string.toLowerCase().contains(standard.toLowerCase())){ //check if message if present in your standard list
count = 1; //if it is present, Count becomes 1
if(count==1){
msg = null;
break; // we can break the loop for current message to be checked with standard list if it is present
}
}
else{
count=0; // if the message is not your standard, then count becomes 0
msg = string;
}
}
}
if(count==0){
System.out.println(msg); //finally you can get which messages is wrong according to your standard list
}
}
}
如果您在理解我的代码时遇到任何问题,请告诉我您尝试过哪些方法?你的努力是什么?如果列表中的单词有限,我可以这样做,但是有n个单词。请使用for循环检查整个单词列表的相等性。谢谢,你可以分享更多信息,比如我如何从属性文件中调用此单词列表。我可以用逗号把所有的东西分开成一个键吗?当然可以。请告诉我,您的信息来自何处这是一个基于请求的第三方工具,它将发送响应。。将来可能会添加更多的消息和单词…所以我可以通过编写一个单独的方法来更新上述代码,该方法将检查消息是否属于您的标准单词集。