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) は、文字列から引数に渡された文字列のインデックスを返します。特定の文字列がない場合は -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
codechachaCopyright ©2019 codechacha