Red Glitter Pointer

 

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()을 사용하는게 좋을 듯

 

 

+ Recent posts

loading