Java
의 String
클래스에는 문자열의 공백을 제거하는 trim()
메소드가 있다.
Java11 에서 동일한 기능을 하는 듯 보이는 strip() 메소드가 추가됐다.
결론만 먼저 보자면 strip() 메소드가 더 많은 종류의 공백을 제거할 수 있다.
trim() 은 \u0020
이하의 공백만 제거한다. 참고로 \u0020은 스페이스다.
유니코드에는 스페이스(\u0020
) 나 탭(\u0009
) 외에도 더 많은 공백 문자가 있다.
strip() 메소드는 유니코드의 공백을 모두 제거한다.
java11에서는 strip() 뿐만 아니라 문자열의 앞, 뒤의 공백을 각각 제거하는 2개의 메소드가 더 추가됐다.
문자열의 앞 공백을 제거하는 stripLeading()
, 문자열의 뒤 공백을 제거하는 stripTrailing()
특징은 strip() 메소드와 동일하다.
public class StringExam {
public static void main(String[] args) {
String str1 = " Hello World ! ";
String str2 = "\u2003Hello World !\u2003"; // EM SPACE
// 1) 공백 제거 - trim()
System.out.println("'" + str1.trim() + "'");
System.out.println("'" + str2.trim() + "'");
// 2) 공백 제거 - strip()
System.out.println("'" + str1.strip() + "'");
System.out.println("'" + str2.strip() + "'");
// 3) 문자열 앞 공백 제거
System.out.println("'" + str1.stripLeading() + "'");
// 4) 문자열 뒤 공백 제거
System.out.println("'" + str1.stripTrailing() + "'");
}
}
'Hello World !'
'?Hello World !?'
'Hello World !'
'Hello World !'
'Hello World ! '
' Hello World !'