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

Asad Riaz 2023年10月12日
  1. Java で部分文字列を削除する replace() メソッド
  2. Java で文字列から文字を削除する StringBuffer.replace() メソッド
  3. Java で文字列から部分文字列を削除する replaceAll() メソッド
Java で文字列から部分文字列を削除する方法

このチュートリアルでは、Java の任意の文字列から部分文字列を削除する方法を学びます。

Java で部分文字列を削除する replace() メソッド

部分文字列を削除/置換するために最も一般的に使用される最初のメソッドは、Java の String クラスの replace() メソッドです。

string.replace(char oldChar, char newChar)

最初のパラメーターは置換される部分文字列で、2 番目のパラメーターは最初のパラメーターを置換する新しい部分文字列です。

コード例:

import java.text.*;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    String originalstring = "This is Simple Testing";
    String replace = originalstring.replace('i', 'a');
    System.out.println("Original String: " + originalstring);
    System.out.println("Modified String with Replacement: " + originalstring.replace('i', 'a'););
  }
}

出力:

Original String: This is Simple Testing
Modified String with Replacement: Thas as Sample Testang

Java で文字列から文字を削除する StringBuffer.replace() メソッド

このメソッドは、指定されたインデックス範囲の部分文字列を削除または置換できます。Java の StringBufferString に似ていますが、可変です。

StringBuffer.replace() メソッドの構文は、

StringBuffer replace(int start, int end, String str)

startend は指定された範囲の開始と終了のインデックスです。start は包括的で、end は排他的であるため、実際の範囲は [start, end-1] です。

str は、上記で指定された範囲のコンテンツを置き換える文字列です。

コード例:

import java.text.*;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    StringBuffer originalString = new StringBuffer("Simple Testing");
    System.out.println("Original String: " + originalString);
    originalString.replace(5, 6, "y");
    System.out.println("Modified String: " + originalString);
  }
}

出力:

Original String: Simple Testing
Modified String: Simply Testing

Java で文字列から部分文字列を削除する replaceAll() メソッド

replace() メソッドに似たもう 1つのメソッドは、Java String クラスの replaceAll() メソッドを使用することです。

その構文は、

String replaceAll(String regex, String replace)

regex は正規表現のパターンです。

replace は既存のものを置き換える文字列です。

コード例:

import java.text.*;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    String originalstring = "This is Simple Testing Code";
    System.out.println("Original String: " + originalstring);
    System.out.println("Modified String: " + originalstring.replaceAll("Code", ""));
  }
}

出力:

Original String: This is Simple Testing Code
Modified String: This is Simple Testing 

replaceAll() メソッドを使用するためにさらに拡張されたメインは、正規表現のパターンを使用して、パターンに一致する部分文字列を一度にすべて削除することです。

コード例:

import java.text.*;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    String originalstring = "This Test is from Simple Testing Code to Test function ";
    System.out.println("Original String: " + originalstring);
    System.out.println("Modified String: " + originalstring.replaceAll("Tes.*?\\b", ""));
  }
}

出力:

Original String: This Test is from Simple Testing Code to Test function 
Modified String: This  is from Simple  Code to  function 
注意
replace() メソッドと replaceAll() メソッドは両方ともすべての出現箇所を置き換えます。それらの違いは、replaceAll() メソッドが正規表現パターンを使用することです。

関連記事 - Java String