개요
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()을 사용할 수 있습니다.