replace()
replace란 자바에서 문자열을 치환할 때 쓰는 메소드이다.
replace("찾을 문자", "치환할 문자"); 정도로 이해하고 쓰면 되겠다.
ex)
String str = "Hello World";
System.out.println(str); // 결과 : Hello World
str = str.replace(" ", ""); // 공백을 제거
System.out.println(str); // 결과 : HelloWorld
replaceAll()
replaceAll()을 사용하게 되면 손쉽게 정규식을 사용하여 문자를 치환할 수 있게된다.
(replace()도 정규식을 사용하는 방법이 있긴하다.)
replaceAll("[바꾸고 싶은 문자의 정규식]", "치환할 문자");
정규식 테이블
정규식 | 의미 | 예시 |
0-9 | 모든 숫자 | str.replaceAll("[0-9]","*"); |
^0-9 | 숫자 빼고 모든 문자 | str.replaceAll("[^0-9]","*"); |
a-z | 영어 소문자 | str.replaceAll("[a-z]","*"); |
A-Z | 영어 대문자 | str.replaceAll("[A-Z]","*") |
\uAC00-\uD7A3 | 모든 한글 음절(가-힣) | str.replaceAll("[\uAC00-\uD7A3]","*"); |
이외에도 더 많은 정규식이 존재한다.
코드 예제
1. 한글, 숫자, 영문, 띄어쓰기 빼고 = 모든 특수문자 제거
public static void StringReplace(){
String str = "Hello! World!!!"
System.out.println(str); // 결과 : Hello! World!!!
str = str.replaceAll("[^\uAC00-\uD7A30-9a-zA-Z]", "");
System.out.println(str); // 결과 : Hello World
}
2. 숫자 빼고 전부 제거
public static void StringReplace(){
String str = "Hello World123"
System.out.println(str); // 결과 : Hello World123
str = str.replaceAll("[^0-9]", "");
System.out.println(str); // 결과 : 123
}
'프로그래밍 > Java' 카테고리의 다른 글
[Java] Enum (0) | 2022.03.07 |
---|---|
[Java] 문자열 배열에 저장하기 (1) | 2021.11.28 |
[Java]제네릭 (0) | 2021.04.28 |
[Java]Collection (0) | 2021.04.28 |
[Java] 업캐스팅, 다운캐스팅 (0) | 2021.04.09 |