본문 바로가기

프로그래밍/Java

[Java] replace()와 replaceAll()

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