728x90
자바의 replace()와 replaceAll() 메서드는 모두 문자열을 치환하는 메서드입니다.
예를 들어, 다음 코드는 replace() 메서드를 사용하여 문자열 "Hello, world!"에서 "Hello"를 "Goodbye"로 치환합니다.
String origina = "Hello, world!";
String replaced = original.replace("Hello", "Goodbye");
//replace(변환하고자하는 문자열, 변환할 문자열)
System.out.println(replaced);
//출력결과:
//Goodbye, world!
replaceAll을 메소드를 사용해도 결과는 동일합니다.
String origina = "Hello, world!";
String replaced = original.replaceAll("Hello", "Goodbye");
//replaceAll(변환하고자하는 문자열, 변환할 문자열)
System.out.println(replaced);
//출력결과:
//Goodbye, world!
하지만 replace와 replaceAll은 분명한 차이점이 있습니다.
String replace(CharSequnce target, CharSequence replacement)
String replaceAll(String regex, String replacement)
- replace() 메서드는 문자열에서 특정 문자열을 다른 문자열로 치환합니다.
- replaceAll() 메서드는 문자열에서 특정 패턴을 다른 문자열로 치환합니다.
패턴은 정규 표현식을 사용하여 지정할 수 있습니다.
정규 표현식은 문자열의 특정 패턴을 찾는 데 사용되는 강력한 도구입니다.
즉 replace는 문자열만 변환가능한데 반해서
replaceAll은 정규식을 이용해 불특정 문자열을 변환할수 있는 장점이 있습니다.
class prac{
public static void main(String[] args){
String str = "안녕하세요. 반가워요. 또 놀러오세요.";
// replace
String str1 = str.replace(".", "!");
System.out.println(str1); // 안녕하세요! 반가워요! 또 놀러오세요^^
// replaceAll
String str2 = str.replaceAll(".", "^^");
System.out.println(str2); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
}
- replace() 메서드는 첫 번째 매개변수인 "." 을 문자로 인식
- replaceAll() 메서드는 첫 번째 매개변수인 "." 을 정규식으로 인식
- 정규식에서 .(점)은 모든 문자를 의미
728x90
'STUDY > JAVA' 카테고리의 다른 글
[JAVA] 날짜와 시간 구하는 방법 (JDK 1.8 이상) (0) | 2023.08.09 |
---|---|
[JAVA] split() 문자열 잘라서 배열로 반환 (0) | 2023.07.18 |
[JAVA] Map 중복 키 허용 방법 (0) | 2023.06.26 |
[JAVA] 하드코딩을 피하는 자바 상수 사용법 (0) | 2023.06.22 |
[JAVA] 세션(session) 사용 방법 (0) | 2023.06.13 |