如果我在字符串中查找两个单词。我该怎么做呢?
例如,字符串“asdgcatgadfdog”包含cat和dog。我如何在字符串中查找这些单词,然后如果找到它们则打印为true?
它不能string.startsWith
因为它不是以它开头的,我不认为它是contains
。或者至少,我还没有能够使用contains。
正在寻找正确的方向。
答案 0 :(得分:1)
您可以使用正则表达式:
boolean found = "asdgcatgadfdog".matches("(?i).*(cat.*dog)|(dog.*cat).*");
答案 1 :(得分:1)
检查以下代码:
public static void main(String[] args) {
String word = "asdgcatgadfdog";
if(word.contains("cat")){
System.out.println("true");
}
}
答案 2 :(得分:1)
public static void main(String[] args) {
String str = "asdgcatgadfdog";
if(str.indexOf("cat")!= -1 && str.indexOf("dog")!= -1){
System.out.println("true");
}else{
System.out.println("false");
}
}
答案 3 :(得分:0)
boolean match = str1.toLowerCase().contains(str2.toLowerCase())
答案 4 :(得分:0)
试试这个:
String str= "asdgcatgadfdog";
if(str.contains("cat") && str.contains("dog")){
System.out.println("Match");
}
答案 5 :(得分:0)
您可以使用indexOf()
或contains()
。实际上,contains()
正在调用indexOf()
:
public boolean contains(CharSequence s) {
return indexOf(s.toString()) > -1;
}
检查以下代码:
String str1 = "lsjfcatsldkjglsdog";
String str2 = "lsjfjlsdjsldkjglsdog";
System.out.println("contains:");
System.out.println("str1: "
+ (str1.contains("cat") && str1.contains("dog")));
System.out.println("str2: "
+ (str2.contains("cat") && str2.contains("dog")));
System.out.println("indexOf:");
System.out.println("str1: "
+ (str1.indexOf("cat") > -1 && str1.indexOf("dog") > -1));
System.out.println("str2: "
+ (str2.indexOf("cat") > -1 && str2.indexOf("dog") > -1));
输出结果为:
contains:
str1: true
str2: false
indexOf:
str1: true
str2: false