프로그래밍을 하다 보면 문자열에 대한 공백을 제거해야하는 경우가 있습니다. 이러한 경우에 사용할 수 있는 방법에 대해 알아보도록 하겠습니다.
문자열 공백 처리 - Trim
String str = " 오늘은 날씨가 너무 좋다. "
String trimStr = str.trim()
System.out.println(str)
System.out.println(trimStr)
// 오늘은 날씨가 너무 좋다.
//오늘은 날씨가 너무 좋다.
위의 소스 코드를 보면 trim()으로 공백을 처리한 결과를 볼 수 있습니다. 하지만 trim()으로 공백을 처리하게 되면 양쪽의 공백은 모두 제거되지만, 문자열 사이에 있는 공백은 제거되지 않습니다. 만약 전체의 공백을 모두 지워야 하는 상황이라면 어떻게 해야 할까요? 바로 replace 함수를 사용하면 됩니다.
문자열 공백 처리 - Replace
String str = " 오늘은 날씨가 너무 좋다. "
String replaceStr = str.replace(" ", "");
System.out.println(str)
System.out.println(replaceStr)
// 오늘은 날씨가 너무 좋다.
//오늘은날씨가너무좋다.
replace 함수는 문자열 중 첫 번째 인자를 두 번째 인자로 모두 대체합니다. 따라서 첫 번째 인자에 공백을 공백 없음으로 대체하기 때문에 문자열 내에 모든 공백은 사라지게 됩니다.
문자열 공백 처리 - Strip
String str = " 오늘은 날씨가 너무 좋다. "
String stripStr = str.strip()
System.out.println(str)
System.out.println(stripStr)
// 오늘은 날씨가 너무 좋다.
//오늘은 날씨가 너무 좋다.
Java 11 이후에 추가된 strip 함수를 사용하면 trim과 마찬가지로 공백을 제거할 수 있습니다.
trim을 사용했을 때와 같은 결괏값을 보여줍니다. 하지만 이렇게 trim과 똑같은 결과를 보여주는 strip이 왜 추가가 되었는지 궁금하실 겁니다. 그 이유는 trim으로 제거할 수 있는 공백은 '\u0020' 즉 스페이스로 만든 공백뿐입니다. 하지만 strip으로 제거할 수 있는 공백은 Tab으로 생성한 공백을 포함한 유니코드의 모든 공백을 제거할 수 있습니다. 즉 strip을 사용하면 제거할 수 있는 공백의 종류가 증가하는 것입니다.
'Languages > Java' 카테고리의 다른 글
[Java]다양한 Exception handling(예외 처리) 알아보기 (38) | 2023.07.23 |
---|---|
[Java]정규식(Regular Expression) - 유용한 문자열 처리를 위한 강력한 도구 (7) | 2023.07.23 |
[Java]인터페이스 - 객체지향 프로그래밍의 주요 개념과 활용방법 (6) | 2023.07.23 |
[Java]제네릭(Generic)을 쉽게 이해하기(문법과 활용) (2) | 2023.07.21 |
[Java]문자열(String)과 리스트(List)의 null, 빈 값인지 확인하는 방법 (15) | 2023.07.20 |