Notice
Recent Posts
Recent Comments
Archives
반응형
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Today
Total
11-14 12:04
250x250
관리 메뉴

꿈꾸는 개발자의 블로그

[Java] 문자열에서 특정 문자 삭제/변환하기 : replace(), replaceAll() 본문

Programming/Java

[Java] 문자열에서 특정 문자 삭제/변환하기 : replace(), replaceAll()

aldrn29 2023. 11. 23. 15:54

문자열에서 특정 문자를 삭제 혹은 치환하는 방법 중 replace() 함수와 replaceAll() 함수를 알아보려한다.

 

728x90

 


 

replace(char old, char new)

문자열 내에 대체할 문자(없다면 "" 빈 값)와 일치하는 모든 부분을 교체한다.

public class Main
{
    public static void main(String[] args)
    {
        String str = "Hello, World..";
 
        str = str.replace("Hello", "Hi");
        System.out.println(str);	// "Hi, World..
        
        str = str.replace(".", "");
        System.out.println(str);	// "Hi, World"
    }
}

 

replaceAll(char old, char new)

replace() 함수와 같이 대체할 문자를 넣어 동일하게 사용할 수 있지만, 어떤 패턴(정규식)을 넣어 사용할 수도 있다. 특정 문자를 정규식으로 인식하여 예상과 다르게 나올 수 있어서 주의해야 한다.. 그래도 정규식만 잘 사용할 수 있다면 정말 편리할 것 같다. 

* replace() : 첫 번째 매개변수인 "."을 문자로 인식한다.

* replace() : 첫 번째 매개변수인 "."을 정규식으로 인식한다. ("."은 모든 문자를 의미)

public class Main
{
    public static void main(String[] args)
    {
        String str = "Hello, World..";
 
        str = str.replaceAll("Hello", "Hi");
        System.out.println(str);	// "Hi, World..
        
        str = str.replaceAll(".", "!");
        System.out.println(str);	// "!!!!!!!!!!!"
    }
}
String str = "Hello, World..123!!";

str = str.replaceAll("[^\\w+]", "");	// "HelloWorld123" (문자/숫자를 제외하고 제거)
str = str.replaceAll("[\\d+]", "");	// "Hello, World..!!" (숫자를 제거)
str = str.replaceAll("[^a-zA-Z]", "");	// "HelloWorld" (문자를 제외하고 제거)
str = str.replaceAll("[\\s+]", "");	// "Hello,World..123!!" (공백을 제거)

 

728x90
728x90
Comments