🤔 어떤 메서드일까?
replace() 와 replaceAll() 메서드는 문자열의 특정 문자를 원하는 문자로 변환하는 메서드입니다.
replace()
- replace(CharSequence target, CharSequence replacement)
- 첫 번째 매개변수는 변환하고자 하는 값입니다.
- 두 번째 매개변수는 변환할 값입니다.
replaceAll()
- replaceAll(String regex, CharSequence replacement)
- 첫 번째 매개변수는 변환하고자 하는 값입니다.
- 두 번째 매개변수는 변환할 값입니다.
🔧 메서드 사용법
두 메서드의 사용법은 동일합니다.
replace()
String str = "안녕하세요";
String a = str.replace("요","yo");
// replace(변환하고자 하는 값, 변환할 값)
System.out.println(a); // 안녕하세yo
replaceAll()
String str = "안녕하세요";
String a = str.replaceAll("요","yo");
// replace(변환하고자 하는 값, 변환할 값)
System.out.println(a); // 안녕하세yo
🎯 두 메서드의 차이점
두 메서드는 매개변수에 차이가 있습니다.
replace() 메서드와 달리 replaceAll() 메서드는 첫 번째 매개변수 자리에
regex, 즉 '정규 표현식'을 넣을 수 있습니다.
정규 표현식은 문자열 데이터 중에서 원하는 조건(패턴)과 일치하는 문자열 부분을 찾아내기 위해 사용하는 것입니다.
String abc = "안녕하세요안녕안녕하세요";
String r = abc.replace("안녕","0");
String rA = abc.replceAll("[안녕]","0");
System.out.println(r); // 0하세요00하세요
System.out.println(rA); // 00하세요0000하세요
이런 식으로 정규 표현식을 사용하면 [ ] 안에 있는 "안" or "녕" 이 전부 치환 대상이 됩니다.
replaceAll()을 사용하면 replace() 메서드보다 더 간단하게 문자열을 치환할 수 있습니다.
'코딩테스트 회고록 > 코테_Java' 카테고리의 다른 글
[JAVA] 메서드 - toLowerCase(), toUpperCase() (0) | 2023.03.28 |
---|---|
[JAVA] 프로그래머스 - 모음 제거 (0) | 2023.03.25 |
[JAVA] 프로그래머스 - 중복된 문자 제거 (0) | 2023.03.23 |
[JAVA] 프로그래머스 - 7의 개수 (0) | 2023.03.20 |
[JAVA] 프로그래머스 - 합성수 찾기 (0) | 2023.03.17 |