2015-04-14 1 views
0

Если я ищу два слова в строке. Как я могу это сделать?Поиск и сравнение слов в одной строке. Java

Например, строка «asdgcatgadfdog» содержит кошку и собаку. Как я буду искать эти слова в строке, а затем распечатать true, если он найдет оба?

Это не может быть string.startsWith, потому что это не начинается с него, и я не думаю, что это contains. Или, по крайней мере, я не смог заставить его работать с содержимым.

Толчок в правильном направлении - это все, что я ищу.

+0

'contains' или' indexOf' ваши друзья –

ответ

1

Вы можете использовать регулярное выражение:

boolean found = "asdgcatgadfdog".matches("(?i).*(cat.*dog)|(dog.*cat).*"); 
0
boolean match = str1.toLowerCase().contains(str2.toLowerCase()) 
1

Проверьте код ниже:

public static void main(String[] args) { 
    String word = "asdgcatgadfdog"; 
    if(word.contains("cat")){ 
     System.out.println("true"); 
    } 
} 
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"); 
} 
} 
0

Попробуйте это:

String str= "asdgcatgadfdog"; 
if(str.contains("cat") && str.contains("dog")){ 
    System.out.println("Match"); 
} 
0

Вы можете использовать indexOf() или . На самом деле, называет 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 
Смежные вопросы