Javaで文字列から文字を削除する方法

紹介

この記事では、JavaのStringオブジェクトから文字を削除するいくつかの異なる方法を学びます。Stringクラスにはremove()メソッドはありませんが、replace()メソッドとsubstring()メソッドのバリエーションを使用して文字を削除することができます。

Note

注意: Stringオブジェクトは不変です。つまり、作成された後に変更できません。この記事で説明されているStringクラスの全てのメソッドは、新しいStringオブジェクトを返し、元のオブジェクトを変更しません。使用する文字列のタイプは、プログラムの要件によって異なります。他のタイプの文字列クラスやなぜJavaでは文字列が不変なのかについて詳しく学びましょう。

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

注意: replace()メソッドを使用する際には、文字列の値を示すために二重引用符を使用する必要があります。シングルクォートを使用すると、JREはキャラクター定数を示していると仮定し、プログラムのコンパイル時にエラーが発生します。

Javaで文字列から文字を削除する。

Javaのreplace()メソッドを使用して、文字列から文字のすべてのインスタンスを削除することができます。以下の例コードは、与えられた文字列から小文字の「a」のすべての出現を削除します。

「replace()」メソッドを使用して、文字を空の文字列で置き換えることで、Javaの文字列から文字のすべてのインスタンスを削除できます。以下の例のコードは、与えられた文字列から小文字の「a」のすべての出現を削除します。

String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Output

bc ABC 123 bc

Javaで文字列からスペースを削除する

Javaのreplace()メソッドを使用して、文字列からスペースを削除することができます。次の例のコードは、与えられた文字列からすべてのスペースを取り除きます。

String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
Output

abcABC123abc

Javaで文字列から部分文字列を削除する。

JavaのreplaceFirst()メソッドを使用すると、文字や部分文字列を空の文字列で置き換えて、文字列から最初に出現する文字や部分文字列のみを取り除くことができます。以下の例コードでは、与えられた文字列から最初に出現する”ab”を取り除いています。

String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Output

c ABC 123 abc

Javaで文字列からすべての小文字の文字を削除する。

JavaのreplaceAll()メソッドを使用して、指定されたパターンと一致する文字を文字列から削除するために正規表現を使用することができます。以下の例では、指定された文字列からすべての小文字を削除します。

String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
Output

ABC 123

Javaで文字列から最後の文字を削除する

文字列から最後の文字を置き換える具体的な方法はありませんが、Stringのsubstring()メソッドを使って文字列を切り詰めることができます。以下のコード例では、指定された文字列から最後の文字を削除します。

String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Output

abc ABC 123 ab

試してみてください。 (Tameshite mite kudasai.)

次の例ファイルは、この記事で提供されている全てのメソッドの例を含むクラスを定義し、与えられた文字列に対して各メソッドを呼び出した後に結果を出力します。異なるマッチングパターンや置換値を使用して、異なる文字列で自分自身で試すために、この例コードを使用できます。

もしJavaがインストールされている場合は、「JavaStringRemove.java」という新しいファイルを作成し、次のコードをそのファイルに追加することができます。

JavaのStringRemove.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));
	}

}

プログラムをコンパイルして実行してください。

  1. javac JavaStringRemove.java
  2. java JavaStringRemove

 

あなたは次の出力を受け取ります。

Output

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のチュートリアルを通じて学習を続けましょう。

コメントを残す 0

Your email address will not be published. Required fields are marked *