반응형
replaceAll() 문법
String newStr = originStr.replaceAll(String regex, String replacement);
`regex` : 변경하고 싶은 문자열에 해당하는 정규 표현식(혹은 그냥 문자열)을 넣어주면 된다.
`replacement` : 대체할 문자열을 입력하면 된다.
`originStr` 문자열에서 `regex`와 일치하는 부분을 모두 `replacement`로 바꿔준다.
replaceAll() 예시
public class ReplaceAllExample{
public static void main(String[] args){
String str = "나랑드 사이다 우리는 이제 그런 사이다";
str = str.replaceAll("사이다", "콜라");
System.out.println(str);
//출력값 : "나랑드 콜라 우리는 이제 그런 콜라"
}
}
replace() vs replaceAll - 정규 표현식의 사용 예시
`replace()`의 경우 정규 표현식을 사용할 수 없지만, `replaceAll()`은 정규 표현식이 사용 가능하다!
어디에 쓸 수 있을까?
public class ReplaceAllExample{
public static void main(String[] args){
// Html 태그 제거
String htmlStr = "<html><body><h1>Hello World</h1></body></html>";
String noHTMLStr = htmlStr.replaceAll("<[^>]*>", "");
System.out.println(noHTMLStr);
// 출력 : Hello World
// 숫자 변환
String phoneNum = "010-123-4567";
phoneNum = phoneNum.replaceAll("\\d", "*");
System.out.println(phoneNum);
// 출력 : *** - *** - ****
// 공백 제거
String str = "공 백 이 너 무 많 아";
str = str.replaceAll(" ", "");
System.out.println(str);
// 출력 : 공백이너무많아
}
}
` <[^>]*> ` 정규 표현식을 사용하면 HTML 태그를 모두 선택할 수 있다.
`\\d`정규 표현식은 모든 숫자를 선택할 수 있다.
예시는 문자열에 포함된 모든 HTML 태그를 제거하거나 숫자를 *로 바꾸는 코드이다.
일 할 때 가장 많이 사용하는 것은 공백제거인 것 같다.
흔히 `Ctrl + F`를 통해 문자를 찾은 뒤 모두 바꾸기를 하는 것과 비슷하다고 볼 수 있겠다.
반응형
'JAVA' 카테고리의 다른 글
[Java] Math.random()의 취약성과 시큐어 코딩 (0) | 2024.11.19 |
---|---|
[자바 디자인 패턴]의 싱글톤 패턴이란? (1) | 2024.01.15 |
[JAVA] VO(DTO) LIST를 특정 필드값으로 정렬하기 + 형변환 (0) | 2023.08.10 |