본문으로 바로가기

1. replace

public String replace(char oldChar, char newChar) 

: 문자형 oldChar를 문자형 newChar로 대치한 새로운 문자열을 리턴

: 대소문자 구분합니다.


public String replace(CharSequence target, CharSequence replacement)

: target 부분을 replacement로 대치한 새로운 문자열을 리턴

: 대소문자 구분합니다.

: CharSequence를 구현한 클래스를 매개로 받습니다. (String 클래스, StringBuffer 클래스, StringBuilder 클래스)

: 정규식을 활용할 수 없습니다. (replaceAll과의 차이)

 

예시

String test = "past is just past";

System.out.println(test.replace('p', 'f')); // fast is just fast
System.out.println(test.replace("past", "future")); // future is just future

StringBuffer stringBuffer = new StringBuffer().append("past");
StringBuilder stringBuilder = new StringBuilder().append("past");

System.out.println(test.replace(stringBuffer, "A")); // A is just A
System.out.println(test.replace(stringBuilder, "B")); // B is just B

 

2. replaceAll

public String replaceAll(String regex, String replacement)

: 패턴이 일치할 경우 모두 대치

: 정규식을 활용할 수 있습니다.

 

예시

String test = "past is just past";

System.out.println(test.replaceAll("past", "future")); // future is just future
System.out.println(test.replaceAll("[a-z]", "1")); // 1111 11 1111 1111
System.out.println(test.replaceAll("t$", "1")); // past is just pas1
System.out.println(test.replaceAll(".", "?")); // ?????????????????

 

3. replaceFirst

public String replaceFirst(String regex, String replacement)

: 처음으로 만나는 패턴만 대치

: 정규식을 활용할 수 있습니다.

 

예시

String test = "past is just past";

System.out.println(test.replaceFirst("past", "future")); // future is just past
System.out.println(test.replaceFirst("[a-z]", "1")); // 1ast is just past
System.out.println(test.replaceFirst("t$", "1")); // past is just pas1
System.out.println(test.replaceFirst(".", "?")); // ?ast is just past