
문자열 내 특정 문자열을 원하는 문자열로 치환하는 함수.
📌 .replace(대체할 문자열, 새로운 문자열) String replace(Charsequence target, Charsequence replacement)
이 함수는 문자열에서 특정 문자열을 다른 문자열로 대체하는 데 사용된다. 매개변수로 대체할 문자열과 새로운 문자열을 받는다. 그 후, 대체할 문자열은 원래 문자열 내에서 검색되며, 새로운 문자열로 치환해준다.
public static void main(String[] args) { String s = "Hello World"; System.out.println(s.replace("World","You")); } //결과 Hello You
📌 .replaceAll(정규식 표현식 패턴, 새로운 문자열) String replaceAll(String regex, String replacement)
이 함수는 문자열에서 특정 패턴을 가진 모든 문자열을 다른 문자열로 대체하는 데 사용된다. 매개변수로 정규식 표현식 패턴과 대체 문자열을 인수로 받는다. 그 후, 대체할 패턴은 원래 문자열 내에서 검색되며, 대체 문자열로 대체된다.
public static void main(String[] args) { String s = "Hello World"; System.out.println(s.replaceAll("[a-z]","A")); } //결과 HAAAA WAAAA
📌 정규식 표현식 패턴
자바 내에서 이 패턴은 문자열을 검색하고 매치시키기 위한 패턴이다. 정규식은 java.util.regex 패키지에서 제공하는 Pattern 클래스를 사용하여 작성된다. replaceAll() 메서드에서도 사용이 되는데 주로 사용되는 패턴들의 예시를 보여주겠다.
1. 자주 사용 되는 정규 표현식 :
2. 정규식 문법 :
이건 정규식 표현식 문법에 대해 공부할 때 따로 다루어보겠다.
📌 replace() 와 replaceAll()의 차이
일단 이 둘의 가장 큰 차이는 두 함수가 서로 다른 매게변수를 받는 다는 점이다. replace()는 Charsequence() 를 받고, replaceAll()은 String을 받는다. 또한 replaceAll()은 regex를 사용하기 때문에 둘의 결과는 다르게 나온다.
public static void main(String[] args) { String s = "Java Programming is fun!"; //replace() System.out.println(s.replace("is","0")); //replaceAll() System.out.println(s.replaceAll("[is]","0")); } //출력 Java Programming 0 fun! Java Programm0ng 00 fun!보이는 것 처럼, replace()는 "is"를 0으로 변환 시켰지만, replaceAll()은 "is" 뿐 만 아니라 "i" 까지 변환시킨걸 알 수 있다.
더 많은 정보는 출처 확인!
📓 오늘 느낀 점 한줄 요약
"It's sad to be replaced" 😥
20230411 TIL