Java/Java
[Java] replace, replaceAll 함수
mingmongs
2025. 3. 14. 11:11
자바의 String 관련 함수 중, 특정 문자열을 원하는 문자열로 치환하는 함수인 replace, replaceAll 함수가 있다.
이 두 가지 함수의 공통점과 차이점에 대해 알아보자.
1) replace()
- 문법: String replace(CharSequence target, CharSequence replacement)
2) replaceAll()
- 문법: String replaceAll(String regex, String replacement)
3) replace, replaceAll 함수 차이점
: 가장 큰 차이점은 "입력 인자값의 형"에 있다.
replace()는 CharSequence 이고 replaceAll()는 String 인자를 사용할 수 있다.
String 을 사용할 수 있다는 것의 의미는, 정규식(regular expression)을 사용할 수 있다는 의미이다.
4) 예시
String str1 = "Hello World! Hello Java!";
String str2 = "My phone number is 1111-2222";
System.out.println("str1.replace(\" \", \"\") => " + str1.replace(" ", ""));
System.out.println("str1.replace(\"!\", \"*\") => " + str1.replace("!", "*"));
System.out.println("str1.replace(\"Java\", \"SQL\") => " + str1.replace("Java", "SQL"));
System.out.println("str1.replaceAll(\" \", \"\") => " + str1.replaceAll(" ", ""));
System.out.println("str2.replace(\"-\", \"\") => " + str2.replace("-", ""));
System.out.println("str2.replaceAll(\"[0-9]\", \"\") => " + str2.replaceAll("[0-9]", ""));
결과값
위의 결과값을 살펴보면, replaceAll 함수에는 정규식을 사용하여, 숫자를 전부 제거하였다.
[reference]
https://velog.io/@m1naworld/Java-replace-vs-replaceAll
https://bada744.tistory.com/16