728x90
개요
Java에서 문자열의 앞뒤 공백을 제거하는 메서드로 strip()과 trim()이 있습니다. 두 메서드는 비슷해 보이지만, 동작 방식과 처리 범위에서 차이가 있습니다.
본 글에서는 strip 메서드에 대해서 알아보고, trim 메서드와의 차이점에 대해서 정리하고자 합니다.
trim() 메서드란❓
Java 1.0부터 사용 가능하며, ASCII 공백만 제거합니다.
trim() 메서드는 유니코드 공백 문자는 인식하지 못하며, 단순 공백 처리에 적합합니다.
public class TrimExample {
public static void main(String[] args) {
String text = "\u2001Hello World\u2001"; // 유니코드 공백 포함
System.out.println("Before trim: [" + text + "]");
System.out.println("After trim: [" + text.trim() + "]");
}
}
실행 결과
Before trim: [ Hello World ]
After trim: [ Hello World ]
위 결과에서 알 수 있듯이 trim() 메서드는 ASCII 공백만 제거하고, "\u2001"은 유니코드 공백으로 ASCII 공백이 아니므로 제거되지 않습니다.
strip() 메서드란❓
Java 11에서 추가된 메서드로, trim() 메서드와 달리 유니코드 공백(Whitespace)까지 제거합니다.
public class StripExample {
public static void main(String[] args) {
String text = "\u2001Hello World\u2001"; // 유니코드 공백 포함
System.out.println("Before strip: [" + text + "]");
System.out.println("After strip: [" + text.strip() + "]");
}
}
실행 결과
Before strip: [ Hello World ]
After strip: [Hello World]
위 결과에서 알 수 있듯이 strip() 메서드는 유니코드 공백까지 제거합니다.
- \u2001이 제거되고 "Hello World"만 남습니다.
주요 특징
- 유니코드 표준에 따라 공백 문자를 감지 및 제거합니다.
- 전 세계 다양한 언어와 환경에서 사용되는 공백 처리가 가능합니다.
따라서 다국어 환경에서 유니코드 공백 처리가 필요할 경우 strip()을 사용하는 것이 적합합니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.01.18 - Docker Volume --help로 알아보는 볼륨 관리 명령어 (0) | 2025.01.18 |
---|---|
[TIL, 일일 회고] 2024.01.17 - Docker Volume Create 명령어로 볼륨 직접 생성하기 (0) | 2025.01.17 |
[TIL, 일일 회고] 2025.01.15 - 아스키 코드와 유니 코드의 차이점 알아보기 (0) | 2025.01.15 |
[TIL, 일일 회고] 2025.01.14 - 읽기 전용 볼륨이란? :도커에서 데이터 수정 방지 설정하기 (0) | 2025.01.14 |
[TIL, 일일 회고] 2025.01.13 - 자바에서 동일성과 동등성의 차이 이해하기 (0) | 2025.01.13 |