Backend/Java
[Java] trim(), strip() 차이점 / java 문자열 앞뒤 공백 제거
김룹
2024. 2. 28. 15:52
Java에서 문자열 앞 뒤의 공백을 제거하기 위한 메소드가 2가지가 있다
trim() 과 strip() 이 있는데, 이 두가지의 차이점을 알아볼 예정이다!
1. trim()
코드 👇
// 앞 뒤로 공백이 있는 문자열
String str = " 안녕하세여~~ ";
// 공백 제거
String trimStr = str.trim();
System.out.println("원본 문자열: '" + str + "'");
System.out.println("trim 문자열: " + trimStr);
결과 👇
원본 문자열: ' 안녕하세여~~ '
trim 문자열: 안녕하세여~~
2. strip()
코드 👇
// 앞 뒤로 공백이 있는 문자열
String str = " 안녕하세여~~ ";
// 공백 제거
String stripStr = str.strip();
System.out.println("원본 문자열: '" + str + "'");
System.out.println("strip 문자열: " + stripStr);
결과 👇
원본 문자열: ' 안녕하세여~~ '
strip 문자열: 안녕하세여~~
strip() 메소드는 Java 11 이후 새롭게 추가된 메소드이다.
strip()과 trim() 메소는 둘 다 문자열 앞 뒤 공백을 모두 제거해준다.
3. stripLeading(), stripTrailing()
코드 👇
// 앞 뒤로 공백이 있는 문자열
String str = " 안녕하세여~~ ";
// 공백 제거
String stripLeadingStr = str.stripLeading();
String stripTrailingStr = str.stripTrailing();
System.out.println("원본 문자열: '" + str + "'");
System.out.println("stripLeading 문자열: '" + stripLeadingStr + "'");
System.out.println("stripTrailing 문자열: '" + stripTrailingStr + "'");
결과 👇
원본 문자열: ' 안녕하세여~~ '
stripLeading 문자열: '안녕하세여~~ '
stripTrailing 문자열: ' 안녕하세여~~'
Java11 이후로는 stripLeading(), stripTrailing()도 사용 가능하다
stripLeading() : 문자열 앞의 공백 제거
stripTrailing() : 문자열 뒤의 공백 제거
trim() vs strip() 차이
이렇게 보면 차이가 없어보이지만, 제거하는 공백의 종류가 다르다.
trim() : '\u0020' 이하의 공백들만 제거
strip() : 유니코드의 공백들을 모두 제거
유니코드에는 스페이스('\u0020'), 탭('\u0009) 외에도 더 많은 종류의 공백 문자들이 있다.
strip() 메소드는 trim()보다 더 많은 종류의 공백을 제거할 수 있음!
따라서 공백 제거를 위해 사용한다면, Java11 버전 이후로는 strip()을 사용하는게 좋을 듯