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 |