티스토리 뷰

반응형

안녕하세요. 이번 포스팅에서는 자바에서 특정 문자열의 공백 문자를 제거하는 방식에 대해서 알아보겠습니다.

 


1. public String trim()

첫 번째는 trim 메소드입니다. trim 메소드는 String 클래스에서 제공하는 메소드로 문자열의 앞뒤 공백을 제거해주는 메소드입니다. 사용방식은 아래와 같습니다.

 

String s1 = " Hello World ";

String s2 = s1.trim();

 

인자 정보는 없고 공백을 제거한 문자열을 반환해줍니다. 아래 샘플 예제를 보죠.

1
2
3
4
5
6
7
8
9
10
public class Sample
{
    public static void main(String[] args)
    {
        String s1 = "  Hello  World  ";
        
        //공백 문자열을 제거 한 문자열 출력
        System.out.println(s1.trim());
    }
}
cs

▼ s1 문자열에"  Hello World  "문자열을 넣고 trim 메소드를 활용하여 문자열의 공백을 제거하고 출력하는 간단한 예제입니다. 

▼ 문자열 앞뒤 공백은 정상적으로 제거되었지만 Hello와 World 중간에 있는 공백들은 제거되지 않은 채 출력되는 것을 확인할 수 있습니다. 문자열 중간에 있는 문자열까지 한 번에 제거해주는 방법은 아래에서 소개할 replaceAll 메소드입니다.


2. public String replaceAll(String regex, String replacement)

replaceAll 메소드는 문자열에서 특정 문자열을 대체하여 다른 문자열로 치환하는 메소드입니다. 인자 정보는 2개가 들어가는데 첫 번째 인자는 치환하고자 하는 문자열이 옵니다. 정규 표현식이 올 수도 있으며 문자열 형태로 올 수도 있습니다. 두 번째 인자는 첫 번째 인자에 일치하는 문자열을 대체 할 문자열이 옵니다. 아래 샘플예제를 살펴보겠습니다. 

 

1
2
3
4
5
6
7
8
9
10
public class Sample
{
    public static void main(String[] args)
    {
        String s1 = "HelloHelloHello";
 
        //s1 문자열의 "Hello"를 "A"로 변경
        System.out.println(s1.replaceAll("Hello","A"));
    }
}
cs

 

▼ 예제는 s1 문자열의 "Hello"에 해당하는 문자열을 "A"로 대체하여 출력하는 예제입니다. "AAA"가 출력이 됩니다. 이러한 replaceAll의 기능을 이용하여 문자열의 공백 문자를 제거할 수 있습니다. 아래는 replaceAll 메소드를 이용하여 공백문자를 제거하는 예제입니다.

 

1
2
3
4
5
6
7
8
9
10
public class Sample
{
    public static void main(String[] args)
    {
        String s1 = " Hello Hello Hello ";
 
        //s1 문자열의 공백 문자 제거
        System.out.println(s1.replaceAll(" ",""));
    }
}
//출력
 
//"HelloHelloHello"
cs

▼ trim 메소드와는 다르게 앞뒤 공백뿐만이 아니라 문자열 중간에 있는 공백도 제거하고 있습니다.

반응형