HOWTO · Java

Java에서 문자열에서 부분 문자열을 제거하는 방법

이 튜토리얼에서는 repalce(), replaceAll() 및 StringBuffer() 사용과 같은 여러 가지 접근 방식을 사용하여 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()메소드는 정규 표현식 패턴을 사용한다는 것입니다.