Please Enable JavaScript!
Gon[ Enable JavaScript ]

자바(Java) replace() 와 replaceAll() 함수의 차이는?

자바(JAVA)
반응형

“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.
반응형
Posted by 녹두장군1
,