Java - 문자열에 특정 문자열이 포함되어있는지 확인

문자열에서 특정 문자열이 포함되어있는지 확인하는 방법을 소개합니다.

1. String.contains()로 특정 문자열 포함 확인

String.contains()는 문자열에서 인자로 전달된 문자열이 포함되어있을 때 true를 리턴합니다.

public class Example {

    public static void main(String[] args) {

        String str = "Hello, World, Java,";

        System.out.println(str.contains("Java"));
        System.out.println(str.contains("java"));
    }
}

Output:

true
false

아래와 같이 if문과 함께 사용할 수 있습니다.

public class Example {

    public static void main(String[] args) {

        String str = "Hello, World, Java,";

        if (str.contains("Java")) {
            System.out.println("It has Java");
        }
    }
}

2. 대소문자 구분 없이 특정 문자열 포함 확인

contains()는 대소문자를 구분하여 문자열을 비교합니다.

대소문자는 구분하지 않고 비교를 하고 싶을 때는 아래와 같이 toLowerCase()로 문자열을 소문자로 변경하고, 비교하려는 문자열도 소문자로 변경하여 contains()로 비교하면 됩니다.

public class Example1 {

    public static void main(String[] args) {

        String str = "Hello, World, Java,";

        System.out.println(str.toLowerCase().contains("Java".toLowerCase()));
        System.out.println(str.toLowerCase().contains("java".toLowerCase()));
    }
}

Output:

true
true

3. indexOf()로 특정 문자열 포함 확인

String.indexOf(str)은 문자열에서 인자로 전달된 문자열의 Index를 리턴합니다. 만약 특정 문자열이 없을 때는 -1을 리턴합니다. 따라서, -1이 리턴되면 특정 문자열이 포함되지 않은 것이고, 0이상의 숫자가 리턴되면 존재한다고 볼 수 있습니다.

public class Example2 {

    public static void main(String[] args) {

        String str = "Hello, World, Java,";

        if (str.indexOf("Java") >= 0) {
            System.out.println("It has Java");
        }

        if (str.indexOf("Python") == -1) {
            System.out.println("Not found Python");
        }
    }
}

Output:

It has Java
Not found Python
Loading script...
codechachaCopyright ©2019 codechacha