In Java, we can use String.contains() to check if a String contains a substring.

1. String.contains() – Case Sensitive

StringAndSubstring.java

package com.favtuts.string;

public class StringAndSubstring {

    public static void main(String[] args) {
        
        String name = "favtuts is learning Java 123";

        System.out.println(name.contains("Java"));      // true
        System.out.println(name.contains("java"));      // false
        System.out.println(name.contains("FAVTUTS"));    // false
        System.out.println(name.contains("favtuts"));    // true

        if (name.contains("Java")) {
            System.out.println("Hello Java");
        } else {
            System.out.println("abc...");
        }
    }
    
}

Output

true
false
false
true
Hello Java

2. String.contains() – Ignoring Case

The idea is to convert all the strings and substring to lowercase before check with .contains()

StringAndSubstring.java

package com.favtuts.string;

public class StringAndSubstring {

    public static void main(String[] args) {

        String name = "favtuts is learning Java 123";

        System.out.println(containsIgnoreCase(name, "Java"));      // true
        System.out.println(containsIgnoreCase(name, "java"));      // true
        System.out.println(containsIgnoreCase(name, "FAVTUTS"));    // true
        System.out.println(containsIgnoreCase(name, "favtuts"));    // true

    }

    public static boolean containsIgnoreCase(String str, String subString) {
        return str.toLowerCase().contains(subString.toLowerCase());
    }

}

Output

true
true
true
true

3. indexOf()

3.1 Review the JDK String source code, the contains() uses indexOf() to check substring internally.

String.java

package java.lang;

	public boolean contains(CharSequence s) {
        return indexOf(s.toString()) >= 0;
    }

3.2 So, we can also check the substring like this :

StringAndSubstring.java

package com.favtuts.string;

public class StringAndSubstring {

    public static void main(String[] args) {

        String name = "favtuts is learning Java 123";

        if (name.indexOf("Java") != -1) {
            System.out.println("Hello Java"); // print this
        } else {
            System.out.println("abc...");
        }

    }

}

Output

Hello Java

Download Source Code

$ git clone https://github.com/favtuts/java-core-tutorials-examples

$ cd java-string

References

Leave a Reply

Your email address will not be published. Required fields are marked *