본문 바로가기
JAVA

Java Trim(문자열 공백 제거) 사용법 (LTrim, RTrim 구현)

by 코딩이라구 2022. 12. 13.

자바(Java) Trim 함수는 문자열의 공백을 제거하는 함수입니다. 주로 입력값의 공백을 확인한다던지 공백을 제거하여 값이 정확한지 등 여러 가지 형태로 사용됩니다. String 클래스의 메서드를 통하여 공백을 제거하는 방법에 대하여 알아보도록 하겠습니다.


Java Trim 문자열 공백 제거

 

Trim 함수

  • String 클래스 문자열의 앞뒤 공백을 제거하는 메서드

다른 언어에서는 모든 공백을 제거하기 위하여 Trim 메서드를 자주 사용하지만, Java에서는 Trim 메서드는 문자열의 앞과 뒤 공백만을 제거합니다. 문자열 사이의 공백은 그대로 출력됩니다.

 

String str = " 1 2 3 4 5 ";
System.out.println(str);

String strTrim = str.Trim();
System.out.println(strTrim);

 

결과

 1 2 3 4 5  

1 2 3 4 5

 

위 결과 출력 값을 확인해보면 문자열의 앞, 뒤 공백은 모두 사라졌지만 문자열 사이사이의 공백은 제거되지 않습니다.


Replace / ReplaceAll 함수

String 클래스의 대상 문자열의 원하는 문자 값을 다른 값으로 변환하기 위해 사용되는 메서드입니다. 메서드 사용 시 매개변수에서 첫 번째는 변환하고자 하는 문자, 변환하고 싶은 대상 문자입니다.  두 번째는 변환할 문자, 대상 문자를 다른 문자로 변환시킨 결과 문자입니다.

Replace와 ReplaceAll의 차이는 ReplaceAll에서는 regex라는 정규표현식을 사용할 수 있다는 것입니다. Replace는 문자열 그 자체를 대상으로 삼고, ReplaceAll은 문자열의 정규표현식을 사용하여 대상 문자를 지정합니다.

 

Trim으로는 모든 공백을 제거할 수 없었던 부분을 Replace / ReplaceAll 함수를 이용하여 제거할 수 있습니다.

 

String str = "  1 2 3 4 5  ";
String strTrim = "";

// 예제 - 스페이스 공백을 제거 ( trim으로 중간 공백 제거가 불가능했음 )
strTrim = str.Replace(" ","");
System.out.println( strTrim );
strTrim = str.ReplaceAll(" ","");
System.out.println( strTrim );

// 정규표현식 사용 (regex)
strTrim = str.ReplaceAll("^\\s+","");
System.out.println( strTrim );

 

 

결과

12345

12345

1 2 3 4 5 


LTrim / RTrim 구현

마지막으로 VB.NET의 경우 LTrim, RTrim이라는 메서드가 있는데 Java에서 구현하는 방법에 대하여 알아보겠습니다.

LTrim은 문자열이 시작하는 왼쪽의 공백만 모두 제거하는 메서드이고, RTrim은 LTrim과는 반대로 문자열이 끝나는 오른쪽의 공백만을 제거하는 메서드입니다.

 

String str = "  1 2 3 4 5  ";
String strTrim = "";

// 예제 - LTrim(왼쪽 공백만), RTrim(오른쪽 공백만) 구현
// LTrim
strTrim = str.ReplaceAll("^\\s+","");
System.out.println( strTrim );

// RTrim
strTrim = str.ReplaceAll("\\s+$","");
System.out.println( strTrim );

 

결과

1 2 3 4 5 

 1 2 3 4 5

 

이상으로 자바(Java)에서 문자열 공백을 제거하는 방법과 Trim 메서드의 사용법 및 LTrim, RTrim 구현 방법에 대하여 알아보았습니다.

댓글