“replace()”와 “replaceAll()”은 둘 다 특정 문자열을 대체하는 함수입니다. 그러나 두 메서드 간에는 몇 가지 중요한 차이가 있습니다. 그것은 정규 표현식을 사용해서 좀 더 정교한 문자열 대체가 가능한지 여부입니다.
l “replace()”: 주어진 문자열 또는 문자를 새로운 문자열로 대체합니다. 이때, 정규 표현식을 사용하지 않습니다.
l “replaceAll()”: 주어진 정규 표현식에 일치하는 문자열을 새로운 문자열로 대체합니다.
◎ 구문 |
▼ ”replace()” 메서드는 주어진 문자 또는 문자열을 다른 문자 또는 문자열로 대체할 때 사용합니다. 첫 번째 형태의 메서드는 문자열에서 특정 문자(”oldChar”)를 새로운 문자(”newChar”)로 대체하며, 두 번째 형태의 메서드는 문자열에서 특정 문자열(”oldString”)을 새로운 문자열(”newString”)로 대체합니다.
// replace() 메서드의 구문 String replacedString = originalString.replace(oldChar, newChar); String replacedString = originalString.replace(oldString, newString); l ”oldChar”: 문자열에서 교체하고자 하는 대상 문자. l ”newChar”: 대상 문자를 대체할 새로운 문자. l ”oldString”: 문자열에서 교체하고자 하는 대상 문자열. l ”newString”: 대상 문자열을 대체할 새로운 문자열. |
▼”replaceAll()” 메서드는 주어진 정규 표현식(”regex”)과 일치하는 부분을 찾아서 새로운 문자열(”replacement”)로 모두 대체합니다. 정규 표현식을 사용하므로 더 유연한 교체가 가능하며, 패턴에 일치하는 모든 부분을 한 번에 처리합니다.
// replaceAll() 메서드의 구문 String replacedString = originalString.replaceAll(regex, replacement); l ”regex”: 정규 표현식(Regular Expression)으로, 교체하고자 하는 패턴. l ”replacement”: 정규 표현식에 매칭되는 부분을 대체할 새로운 문자열. |
◎ 예제 1: “replace()” 메서드 사용 |
▼ 예제에서는 “replace()” 메서드를 사용하여 "world"를 "Java"로 대체했습니다. 이 메서드는 정규 표현식을 사용하지 않기 때문에 입력 문자열의 특수 문자를 그대로 다룹니다.
public class ReplaceExample {
public static void main(String[] args) {
String originalString = "Hello, world!";
// 문자열 대체
String replacedString = originalString.replace("world", "Java");
// 결과 출력
System.out.println("원본 문자열: " + originalString);
System.out.println("대체된 문자열: " + replacedString);
}
}
[출력]
원본 문자열: Hello, world!
대체된 문자열: Hello, Java!
◎ 예제 2: “replaceAll()” 메서드 사용 |
▼ 예제에서는 “replaceAll()” 메서드를 사용하여 정규 표현식 “\\b(fox|dog)\\b”에 일치하는 부분을 "cat"으로 대체했습니다. 이 정규 표현식은 단어 경계 “\\b”를 사용하여 "fox" 또는 "dog" 단어에만 일치하도록 합니다.
import java.util.regex.Pattern;
public class ReplaceAllExample {
public static void main(String[] args) {
String originalString = "The quick brown fox jumps over the lazy dog.";
// 정규 표현식을 사용하여 문자열 대체
String replacedString = originalString.replaceAll("\\\\b(fox|dog)\\\\b", "cat");
// 결과 출력
System.out.println("원본 문자열: " + originalString);
System.out.println("대체된 문자열: " + replacedString);
}
}
[출력]
원본 문자열: The quick brown fox jumps over the lazy dog.
대체된 문자열: The quick brown cat jumps over the lazy cat.
'자바(JAVA)' 카테고리의 다른 글
자바(Java) 기본 데이터 타입 (1) | 2024.03.19 |
---|---|
자바(Java) 문자열을 비교하는 여러가지 방법 (2) | 2024.03.14 |
자바(Java) 객체 배열 정렬하기 (0) | 2024.02.28 |
자바(Java) String 배열 정렬하기 (1) | 2024.02.26 |
자바 OpenJDK 설치와 환경 변수 설정하기 (0) | 2024.02.18 |
자바(Java) String 배열 정렬하기 (0) | 2024.02.16 |
자바(Java) ArrayList 초기화 방법 (1) | 2024.02.16 |
자바(Java) 문자열 공백 제거하는 방법 (trim, replaceAll) (0) | 2024.02.01 |