HOWTO · Java

Java で大文字と小文字を区別しない文字

このチュートリアルでは、Java で大文字と小文字を区別せずに文字を比較する方法を示します。

文字列は大文字と小文字の区別に基づいて比較されますが、一部の文字では大文字と小文字の区別を無視する必要がある場合があります。 このチュートリアルでは、Java で文字の大文字と小文字を区別しない方法を示します。

Java で大文字と小文字を区別しない文字

Java API の Character クラスは、Java の文字の大文字と小文字を区別して動作します。 Javaで文字を比較できるtoLowerCasetoUpperCaseisUppercaseisLowerCaseなどの関数があります。

toLowerCasetoUpperCase を使用して Java で大文字と小文字を区別しない

toLowerCasetoUpperCase は、文字を大文字から小文字に、小文字から大文字に変換します。 これら 2つの方法を使用すると、大文字と小文字を区別せずに 2つの文字を比較できます。

例を参照してください:

package delftstack;

public class Char_Ignore {
  public static void main(String[] args) {
    String Demo_String1 = "DELFTSTACK";
    String Demo_String2 = "delftstack";

    int count = Demo_String1.length();
    for (int i = 0; i < count; i++) {
      if (Character.toLowerCase(Demo_String1.charAt(i)) == Demo_String2.charAt(i)) {
        System.out.print(Character.toLowerCase(Demo_String1.charAt(i)) + "\s");
      }
    }
    System.out.print("\n");
    for (int i = 0; i < count; i++) {
      if (Demo_String1.charAt(i) == Character.toUpperCase(Demo_String2.charAt(i))) {
        System.out.print(Character.toUpperCase(Demo_String2.charAt(i)) + "\s");
      }
    }
    System.out.print("\n");
    // Characters of first string are not equal to second string, to check:
    System.out.print(Demo_String1.charAt(1) == Demo_String2.charAt(1)); // Returns False
  }
}

上記のコードは、2つのループで 2つの文字列を比較しようとしています。 どちらのループでも、1つの文字列は元の文字列で、2 番目の文字列は大文字と小文字を区別しないように変換された文字列です。

また、文字を比較すると、両方の文字列が等しくないことがわかります。 出力を参照してください:

d e l f t s t a c k
D E L F T S T A C K
false

isLowerCaseisUpperCase を使用して Java で大文字と小文字を区別しない

isLowerCase は文字列内のすべての大文字を無視し、isUpperCase は文字列内のすべての小文字を無視します。 例を参照してください:

package delftstack;

public class Char_Ignore {
  public static void main(String[] args) {
    String Demo_String1 = "DELFTstack";
    String Demo_String2 = "delftSTACK";

    int count = Demo_String1.length();
    for (int i = 0; i < count; i++) {
      if (Character.isUpperCase(Demo_String1.charAt(i))) {
        System.out.print(Character.toLowerCase(Demo_String1.charAt(i)) + "\s");
      }
    }
    System.out.print("\n");
    for (int i = 0; i < count; i++) {
      if (Character.isLowerCase(Demo_String1.charAt(i))) {
        System.out.print(Character.toUpperCase(Demo_String2.charAt(i)) + "\s");
      }
    }
  }
}

上記のコードは 2つの文字列を出力します。最初は大文字を無視し、2つ目は小文字を無視します。 出力を参照してください:

d e l f t
S T A C K

これらのメソッドは、文字列と単一文字の両方に使用できます。