728x90

개요

Java에서 문자열의 공백을 제거하는 방법은 여러 가지가 있습니다.

 

전통적으로 사용되던 trim() 메서드는 단순 공백만을 제거하는 반면, Java 11에서 도입된 strip() 메서드는 유니코드를 포함한 모든 종류의 공백을 제거할 수 있습니다.

 

[TIL, 일일 회고] 2025.01.16 - Java 앞 뒤 공백 제거하기 : strip() vs trim()

개요Java에서 문자열의 앞뒤 공백을 제거하는 메서드로 strip()과 trim()이 있습니다. 두 메서드는 비슷해 보이지만, 동작 방식과 처리 범위에서 차이가 있습니다. 본 글에서는 strip 메서드에 대해서

pixx.tistory.com

 

특히 Java 11에서는 strip() 메서드와 함께 문자열의 앞부분뒷부분공백선택적으로 제거할 수 있는 stripLeading()stripTrailing() 메서드가 추가되었습니다.

 

본 글에서는 이 두 메서드의 특징과 활용법에 대해 정리하고자 합니다.

 

stripLeading() 메서드란❓

stripLeading() 메서드문자열의 앞쪽(왼쪽) 공백만을 제거하는 메서드입니다. Java 11에서 새롭게 도입되었으며, 이름에서 알 수 있듯이 유니코드 공백 문자도 처리할 수 있습니다.

String text = "   Hello World   ";
System.out.println(text.stripLeading()); // "Hello World   "

// 유니코드 공백도 처리
String unicodeText = "\u2000\u2001Hello\u2000World\u2001";
System.out.println(unicodeText.stripLeading()); // "Hello\u2000World\u2001"

 

stripTrailing() 메서드란❓

stripTrailing() 메서드는 문자열의 뒤쪽(오른쪽) 공백만을 제거하는 메서드입니다. stripLeading()과 마찬가지로 Java 11에서 도입되었습니다.

 

이름에서 알 수 있듯이 유니코드 공백 문자도 처리할 수 있습니다.

String text = "   Hello World   ";
System.out.println(text.stripTrailing()); // "   Hello World"

// 유니코드 공백도 처리
String unicodeText = "\u2000\u2001Hello\u2000World\u2001";
System.out.println(unicodeText.stripTrailing()); // "\u2000\u2001Hello\u2000World"

 

strip() vs stripLeading() vs stripTrailing()

String text = "   Hello World   ";

// strip(): 양쪽 공백 모두 제거
System.out.println(text.strip()); // "Hello World"

// stripLeading(): 앞쪽 공백만 제거
System.out.println(text.stripLeading()); // "Hello World   "

// stripTrailing(): 뒤쪽 공백만 제거
System.out.println(text.stripTrailing()); // "   Hello World"

 

위 코드에서 알 수 있듯이 각 메서드는 문자열의 공백을 제거하는 위치가 다릅니다.

 

strip() 메서드는 문자열의 앞과 뒤의 모든 공백을 제거하는 반면, stripLeading()은 문자열 앞쪽의 공백만을, stripTrailing()은 문자열 뒤쪽의 공백만을 제거합니다.

 

이러한 특성을 활용하면 문자열의 공백을 더 세밀하게 제어할 수 있습니다.

 

예를 들어, 코드의 들여쓰기는 유지하면서 줄 끝의 공백만 제거하고 싶을 때는 stripTrailing()을, 반대로 들여쓰기만 제거하고 싶을 때는 stripLeading()을 사용할 수 있습니다.