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)

첫 번째 매개 변수는 교체 할 하위 문자열이고 두 번째 매개 변수는 첫 번째 매개 변수를 대체 할 새 하위 문자열입니다.

예제 코드:

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과 유사하지만 mutable입니다.

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()메소드와 비슷한 또 다른 메소드는 Java String 클래스의replaceAll()메소드를 사용하는 것입니다.

문법은

String replaceAll(String regex, String replace)

정규 표현식은 정규 표현식의 패턴입니다.

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