紹介
この記事では、JavaのString
オブジェクトから文字を削除するいくつかの方法を学びます。 String
クラスにはremove()
メソッドがありませんが、replace()
メソッドとsubstring()
メソッドの変形を使用して、文字列から文字を削除することができます。
注意: String
オブジェクトは不変です。つまり、作成された後に変更することはできません。 この記事で説明するString
クラスのすべてのメソッドは、新しいString
オブジェクトを返し、元のオブジェクトを変更しません。 使用する文字列の種類は、プログラムの要件に依存します。 他の種類の文字列クラスとなぜJavaで文字列が不変なのかについて詳しく学びましょう。
String
クラスには、文字を置換または削除するために使用できる次のメソッドがあります:
replace(char oldChar, char newChar)
:指定された文字列内のoldChar
のすべての出現をnewChar
で置き換えた新しいString
オブジェクトを返します。replace()
メソッドをreplace(CharSequence target, CharSequence replacement)
の形式で使用して、指定された文字列内の部分文字列を置換する新しいString
オブジェクトを返すこともできます。replaceFirst(String regex, String replacement)
: 正規表現と一致する最初の部分文字列を置換文字列で置き換えた新しいString
オブジェクトを返します。replaceAll(String regex, String replacement)
: 正規表現と一致する各部分文字列を置換文字列で置き換えた新しいString
オブジェクトを返します。substring(int start, int end)
: このシーケンスに現在含まれる文字の部分列を含む新しいString
オブジェクトを返します。部分文字列は指定された開始位置から、指定された終了位置の直前まで拡張されます。
注意: replaceAll()
およびreplaceFirst()
メソッドの最初の引数は正規表現です。正規表現を使用して文字列からパターンを削除できます。
注意:replace()
メソッドを使用する場合は、リテラル文字列の値を示すために二重引用符を使用する必要があります。シングルクォートを使用すると、JREは文字定数を指定していると見なし、プログラムをコンパイルする際にエラーが発生します。
Javaで文字列から文字を削除する
Javaで文字列から特定の文字をすべて削除するには、replace()
メソッドを使用して文字を空の文字列で置き換えます。次の例コードは、指定された文字列からすべての小文字の「a
」を削除します:
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
Javaで文字列からスペースを削除する
Javaで文字列からスペースを削除するには、replace()
メソッドを使用してスペースを空の文字列で置き換えます。次の例コードは、指定された文字列からすべてのスペースを削除します:
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
Javaで文字列から部分文字列を削除する
Javaで文字列から特定の文字または部分文字列の最初の出現のみを削除するには、replaceFirst()
メソッドを使用して文字または部分文字列を空の文字列で置き換えます。次の例コードは、指定された文字列から「ab
」の最初の出現を削除します:
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
Javaで文字列からすべての小文字を削除する方法
Javaで文字列から特定のパターンに一致する文字を削除するには、正規表現を使用し、replace.All()
メソッドを使用して文字を空の文字列で置き換えます。次の例のコードは、与えられた文字列からすべての小文字を削除します:
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
Javaで文字列から最後の文字を削除する方法
文字列から最後の文字を置換または削除する特定のメソッドはありませんが、String substring()メソッドを使用して文字列を切り詰めることができます。次の例のコードは、与えられた文字列から最後の文字を削除します:
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
試してみてください
次の例ファイルは、この記事で提供されているすべてのメソッド例を含むクラスを定義し、与えられた文字列に対して各メソッドを呼び出した後の結果を出力します。異なる文字列と異なるマッチングパターンおよび置換値を使用して自分自身で試すために、この例コードを使用できます。
Javaがインストールされている場合は、JavaStringRemove.java
という新しいファイルを作成し、次のコードをファイルに追加できます。
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// Javaで文字列から文字を削除する
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Javaで文字列からスペースを削除する
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Javaで文字列から部分文字列を削除する
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Javaで文字列からすべての小文字を削除する
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Javaで文字列から最後の文字を削除する
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
プログラムをコンパイルして実行します。
- javac JavaStringRemove.java
- java JavaStringRemove
次の出力が得られます。
OutputString 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チュートリアルを行ってください。
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string