Găsirea și compararea cuvintelor într-un singur șir. Java

Dacă caut două cuvinte într-un șir. Cum aș face asta?

De exemplu, șirul "asdgcatgadfdog" conține pisică și pisică. Cum aș putea să caut aceste cuvinte într-un șir și apoi să tipăresc adevărat dacă găsește și amândouă?

Nu poate fi string.startsWith deoarece nu pornește de la ea și nu cred că este conține . Sau cel puțin, nu am reușit să o fac să funcționeze cu conținutul.

O mișcare în direcția cea bună este tot ceea ce caut.

0
conține sau indexOf sunt prietenii tăi
adăugat autor Ilya Bursov, sursa

6 răspunsuri

Puteți utiliza o expresie regulată:

boolean found = "asdgcatgadfdog".matches("(?i).*(cat.*dog)|(dog.*cat).*");
1
adăugat
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");
}
}
1
adăugat

Verificați codul de mai jos:

public static void main(String[] args) {
    String word = "asdgcatgadfdog";
    if(word.contains("cat")){
        System.out.println("true");
    }
}
1
adăugat

Incearca asta:

String str= "asdgcatgadfdog";
if(str.contains("cat") && str.contains("dog")){
    System.out.println("Match");
}
0
adăugat
boolean match = str1.toLowerCase().contains(str2.toLowerCase())
0
adăugat

Puteți utiliza indexOf() sau contains() . De fapt, contains() a sunat indexOf() :

public boolean contains(CharSequence s) {
    return indexOf(s.toString()) > -1;
}  

Verificați următorul cod:

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));

Rezultatul este:

contains:
str1: true
str2: false
indexOf:
str1: true
str2: false
0
adăugat