오늘은 JAVA로 문자열(String) 앞뒤 공백을 제거하는 방법을 알려드리겠습니다.
보통 개발하다 보면 문자열로 체크하는 로직이 많을 텐데, 앞뒤공백이 입력값으로 들어와서 체크로직에 안 맞는 경우가 종종 있습니다, 이런 경우처럼 문자열에 앞뒤 공백을 제거해야 하는 상황이 생길 때 사용하면 좋을 거 같습니다.
trim(), strip(), replaceAll(), stripLeading(), tripTrailing() 함수
위에 함수를 이용해서 간단하게 제거가능합니다.
1. trim() 함수 이용하기
String str = " Godsu tistory ";
String trimmed = str.trim();
System.out.println(trimmed); // "Godsu tistory"
java.lang.String 클래스의 기본 메소드 trim() 함수를 사용하여 앞뒤 공백을 제거할 수 있습니다. 문자열의 앞뒤 공백을 제거한 복사본을 리턴하며, 문자열 중간의 공백은 제거하지 않습니다.
2. strip() 함수 이용하기
String str = " Godsu tistory ";
String stripped = str.strip();
System.out.println(stripped); // "Godsu tistory"
Java 11이상부터 java.lang.String 클래스의 추가된 strip() 함수를 이용하여 앞뒤 공백을 제거할 수 있습니다. trim() 함수와 유사하지만 strip() 함수는 유니코드 공백 문자도 제거해 줍니다.
3. replaceAll() 함수 이용하기
String str = " Godsu tistory ";
String replaced = str.replaceAll("^\\s+|\\s+$", "");
System.out.println(replaced); // "Godsu tistory"
java.lang.String 클래스의 replaceAll() 함수와 정규식을 이용하여 앞뒤 공백을 제거할 수 있습니다. [ 앞(^\\s+), 뒤(\\s+$) ]
4. stripLeading(), stripTrailing() 함수 이용하기
String str = " Godsu tistory ";
String noLeading = str.stripLeading(); // 앞 공백 제거
String noTrailing = str.stripTrailing(); // 뒤 공백 제거
System.out.println(noLeading); // "Godsu tistory "
System.out.println(noTrailing); // " Godsu tistory"
Java 11 이상부터 java.lang.String 클래스의 추가된 stripLeading(), stripTrailing() 함수를 사용하여 앞 또는 뒤 공백을 제거할 수 있습니다. stripLeading()는 앞 공백제거, stripTrailing()는 뒤 공백 제거 하는 기능이 있습니다. 앞 또는 뒤 공백만 제거하는 경우 각각 유용하게 사용할 수 있습니다.
정리하자면?
Java 11 이상이라면 strip() 사용 권장 (유니코드 공백도 제거)
Java 11 미만이라면 trim() 사용 (일반적인 경우)
정규식이 필요하면 replaceAll("^\\s+|\\s+$", "")
감사합니다!
'💻 IT > 📌 Java' 카테고리의 다른 글
[JAVA] NullPointerException 체크 & 해결방법(초간단) (0) | 2024.11.11 |
---|---|
[JAVA] Map 이란? Java Map 사용법(HashMap, TreeMap, LinkedHashMap) (16) | 2022.05.26 |
[Java] Set 이란 ? Java Set 사용법 (14) | 2022.04.06 |
[Java] Queue 란? Java Queue 사용법 (6) | 2022.04.05 |
[Java] Stack 이란 ? 스택(Stack) 사용법 (4) | 2022.04.01 |