Javaで文字列から文字を削除する方法
紹介
この記事では、JavaのStringオブジェクトから文字を削除するいくつかの異なる方法を学びます。Stringクラスにはremove()メソッドはありませんが、replace()メソッドとsubstring()メソッドのバリエーションを使用して文字を削除することができます。
Note
Stringクラスには、文字を置換または削除するために使用できる次のメソッドがあります。
- replace(char oldChar, char newChar): Returns a new String object that replaces all of the occurrences of oldChar in the given string with newChar. You can also use the replace() method, in the format replace(CharSequence target, CharSequence replacement), to return a new String object that replaces a substring in the given string.
- replaceFirst(String regex, String replacement): Returns a new String object that replaces the first substring that matches the regular expression in the given string with the replacement.
- replaceAll(String regex, String replacement): Returns a new String object that replaces each substring that matches the regular expression in the given string with the replacement.
- substring(int start, int end): Returns a new String object that contains a subsequence of characters currently contained in this sequence. The substring begins at the specified start and extends to the character at index end minus 1.
replaceAll()メソッドおよびreplaceFirst()メソッドの最初の引数は正規表現であることに注意してください。正規表現を使用して、文字列からパターンを削除することができます。
Note
Javaで文字列から文字を削除する。
Javaのreplace()メソッドを使用して、文字列から文字のすべてのインスタンスを削除することができます。以下の例コードは、与えられた文字列から小文字の「a」のすべての出現を削除します。
「replace()」メソッドを使用して、文字を空の文字列で置き換えることで、Javaの文字列から文字のすべてのインスタンスを削除できます。以下の例のコードは、与えられた文字列から小文字の「a」のすべての出現を削除します。
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
bc ABC 123 bc
Javaで文字列からスペースを削除する
Javaのreplace()メソッドを使用して、文字列からスペースを削除することができます。次の例のコードは、与えられた文字列からすべてのスペースを取り除きます。
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
abcABC123abc
Javaで文字列から部分文字列を削除する。
JavaのreplaceFirst()メソッドを使用すると、文字や部分文字列を空の文字列で置き換えて、文字列から最初に出現する文字や部分文字列のみを取り除くことができます。以下の例コードでは、与えられた文字列から最初に出現する”ab”を取り除いています。
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
c ABC 123 abc
Javaで文字列からすべての小文字の文字を削除する。
JavaのreplaceAll()メソッドを使用して、指定されたパターンと一致する文字を文字列から削除するために正規表現を使用することができます。以下の例では、指定された文字列からすべての小文字を削除します。
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
ABC 123
Javaで文字列から最後の文字を削除する
文字列から最後の文字を置き換える具体的な方法はありませんが、Stringのsubstring()メソッドを使って文字列を切り詰めることができます。以下のコード例では、指定された文字列から最後の文字を削除します。
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
abc ABC 123 ab
試してみてください。 (Tameshite mite kudasai.)
次の例ファイルは、この記事で提供されている全てのメソッドの例を含むクラスを定義し、与えられた文字列に対して各メソッドを呼び出した後に結果を出力します。異なるマッチングパターンや置換値を使用して、異なる文字列で自分自身で試すために、この例コードを使用できます。
もしJavaがインストールされている場合は、「JavaStringRemove.java」という新しいファイルを作成し、次のコードをそのファイルに追加することができます。
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// Remove a character from a string in Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Remove spaces from a string in Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Remove a substring from a string in Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Remove all the lowercase letters from a string in Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Remove the last character from a string in Java
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
プログラムをコンパイルして実行してください。
- javac JavaStringRemove.java
- java JavaStringRemove
あなたは次の出力を受け取ります。
String after removing all the ‘a’s = bc ABC 123 bc String after removing all the spaces = abcABC123abc String after removing the first ‘ab’ substring = c ABC 123 abc String after removing all the lowercase letters = ABC 123 String after removing the last character = abc ABC 123 ab
JavaStringRemoveの例題クラスにおいて、それぞれのメソッドは与えられた文字列上で操作を行います。出力結果は、それぞれのメソッドで指定された文字が文字列から削除されたことを示しています。
結論
この記事では、Stringクラスのメソッドを使用してJavaで文字列から文字を削除するさまざまな方法について学びました。具体的には、replace()、replaceAll()、replaceFirst()およびsubstring()メソッドを利用しました。さらに、Javaのチュートリアルを通じて学習を続けましょう。