Java で文字列に大文字と小文字を区別しない部分文字列が含まれているかどうかを確認する

Mohammad Irfan 2023年10月12日
  1. Java の文字列で大文字と小文字を区別しない部分文字列を検索する
  2. Java で StringUtils を使用して文字列内の大文字と小文字を区別しない部分文字列を検索する
  3. 文字列内で Java で contains() メソッドを使用して大文字と小文字を区別しない部分文字列を検索する
  4. 文字列内で Java で matches() メソッドを使用して大文字と小文字を区別しない部分文字列を検索する
Java で文字列に大文字と小文字を区別しない部分文字列が含まれているかどうかを確認する

このチュートリアルでは、Java で文字列に部分文字列が含まれているかどうかを確認または検出する方法を紹介します。

String は文字のシーケンスであり、文字の配列と呼ばれることもあります。Java では、String は文字列関連のすべての操作を処理し、作業するユーティリティメソッドを提供するクラスです。

この記事では、文字列内の部分文字列を見つける方法について説明します。

サブストリングは、ストリングでもあるストリングの一部です。1つ以上の文字を持つことができます。

大文字と小文字を区別しない文字列は、小文字または大文字を気にしない文字列です。いくつかの例で理解しましょう。

Java の文字列で大文字と小文字を区別しない部分文字列を検索する

この例では、Pattern クラスとその compile()matcher()、および find() メソッドを使用して、文字列に部分文字列が含まれているかどうかを確認しました。CASE_INSENSITIVE を使用しました。これは、true または false のいずれかのブール値を返します。

以下の例を参照してください。

import java.util.regex.Pattern;

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelftStack";
    String strToFind = "St";
    System.out.println(str);
    boolean ispresent =
        Pattern.compile(Pattern.quote(strToFind), Pattern.CASE_INSENSITIVE).matcher(str).find();
    if (ispresent)
      System.out.println("String is present");
    else
      System.out.println("String not found");
  }
}

出力:

DelftStack
String is present

Java で StringUtils を使用して文字列内の大文字と小文字を区別しない部分文字列を検索する

Apache Commons ライブラリを使用すると、StringUtils クラスとその containsIgnoreCase() メソッドを使用してサブストリングを見つけることができます。以下の例を参照してください。

このコードを実行するには、プロジェクトに Apache Commons JAR を追加する必要があります。

import org.apache.commons.lang3.StringUtils;

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelftStack";
    String strToFind = "St";
    System.out.println(str);
    boolean ispresent = StringUtils.containsIgnoreCase(str, strToFind);
    if (ispresent)
      System.out.println("String is present");
    else
      System.out.println("String not found");
  }
}

出力:

DelftStack
String is present

文字列内で Java で contains() メソッドを使用して大文字と小文字を区別しない部分文字列を検索する

この例では、文字列クラスの contains() メソッドを使用しました。このメソッドは、部分文字列が存在する場合に true を返します。toLowerCase() を使用して、最初にすべての文字を小文字に変換してから、contains() メソッドに渡しました。

以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelftStack";
    String strToFind = "St";
    System.out.println(str);
    boolean ispresent = str.toLowerCase().contains(strToFind.toLowerCase());
    if (ispresent)
      System.out.println("String is present");
    else
      System.out.println("String not found");
  }
}

出力:

DelftStack
String is present

文字列内で Java で matches() メソッドを使用して大文字と小文字を区別しない部分文字列を検索する

この例では、サブストリングが存在する場合に true を返す String クラスの matches() メソッドを使用しました。引数として正規表現を取ります。

以下の例を参照してください。

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelftStack";
    String strToFind = "St";
    System.out.println(str);
    boolean ispresent = str.matches("(?i).*" + strToFind + ".*");
    if (ispresent)
      System.out.println("String is present");
    else
      System.out.println("String not found");
  }
}

出力:

DelftStack
String is present

関連記事 - Java String