trim() vs strip()

CHEESE·2021년 9월 15일
0

문자열 공백 제거하기

JavaString 클래스에는 문자열의 공백을 제거하는 trim() 메소드가 있다.
Java11 에서 동일한 기능을 하는 듯 보이는 strip() 메소드가 추가됐다.

🦾 trim() vs 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 !'

0개의 댓글