일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- list
- Files
- Array
- input
- table
- string
- Button
- 문자열
- javascript
- Visual Studio Code
- ArrayList
- 자바스크립트
- 이탈리아
- js
- html
- json
- Java
- 이클립스
- 자바
- CMD
- 인텔리제이
- CSS
- vscode
- 배열
- IntelliJ
- date
- Eclipse
- windows
- 테이블
- Maven
- Today
- Total
어제 오늘 내일
[Java] 문자열 앞뒤 공백 제거하기 (trim() vs strip() 차이) 본문
이번에는 Java 문자열의 앞뒤 공백을 제거하는 방법을 알아보도록 하겠습니다.
문자열 앞뒤의 공백을 제거하기 위해서 java.lang.String 클래스의 trim(), strip() 메소드를 사용할 수 있습니다.
이 두개의 메소드는 비슷하지만 약간의 차이가 있는데,
그 차이점도 같이 알아보도록 하겠습니다.
1. trim()
코드
public class StringSpace {
public static void main(String[] args) {
// 앞뒤로 공백이 있는 문자열
String str = " Hi Anna! ";
// 공백 제거 (trim())
String trimStr = str.trim();
// 공백 제거 문자열 출력
System.out.println("원본 문자열 : '" + str + "'");
System.out.println("trim 문자열 : '" + trimStr + "'");
}
}
결과
원본 문자열 : ' Hi Anna! '
trim 문자열 : 'Hi Anna!'
java.lang.String 클래스의 trim() 메소드는
앞뒤 공백을 제거한 문자열의 복사본을 리턴합니다.
2. strip()
strip()
코드
public class StringSpace {
public static void main(String[] args) {
// 앞뒤로 공백이 있는 문자열
String str = " Hi Anna! ";
// 공백 제거 (strip())
String stripStr = str.strip();
// 공백 제거 문자열 출력
System.out.println("원본 문자열 : '" + str + "'");
System.out.println("strip 문자열 : '" + stripStr + "'");
}
}
결과
원본 문자열 : ' Hi Anna! '
strip 문자열 : 'Hi Anna!'
java.lang.String 클래스의 strip() 메소드는
Java 11 이후 새로 추가된 메소드 입니다.
strip() 메소드는 trim() 메소드와 마찬가지로
문자열 앞뒤의 공백을 모두 제거해 줍니다.
stripLeading(), stripTrailing()
코드
public class StringSpace {
public static void main(String[] args) {
// 앞뒤로 공백이 있는 문자열
String str = " Hi Anna! ";
// 공백 제거 (stripLeading(), stripTrailing())
String stripLeadingStr = str.stripLeading();
String stripTrailingStr = str.stripTrailing();
// 공백 제거 문자열 출력
System.out.println("원본 문자열 : '" + str + "'");
System.out.println("stripLeading 문자열 : '" + stripLeadingStr + "'");
System.out.println("stripTrailing 문자열 : '" + stripTrailingStr + "'");
}
}
결과
원본 문자열 : ' Hi Anna! '
stripLeading 문자열 : 'Hi Anna! '
stripTrailing 문자열 : ' Hi Anna!'
Java 11 이후로는
stripLeading(), stripTrailing() 메소드도 이용할 수 있습니다.
stripLeading() 메소드는
문자열 앞의 공백을 제거해 줍니다.
stripTrailing() 메소드는
문자열 뒤의 공백을 제거해 줍니다.
3. trim() vs strip() 차이
위의 예제들만 보면 trim() 과 strip()은 별 차이가 없어 보이지만,
제거하는 공백은 종류가 조금 다릅니다.
trim()
'\u0020' 이하의 공백들만 제거합니다.
strip()
유니코드의 공백들을 모두 제거합니다.
사실 유니코드에는 우리가 일반적으로 많이 사용하는 스페이스('\u0020'), 탭('\u0009) 등 외에도
더 많은 종류의 공백 문자들이 있습니다.
strip() 메소드는 trim() 보다 더 많은 종류의 공백을 제거할 수 있습니다.
코드
public class StringSpace {
public static void main(String[] args) {
// 앞뒤로 공백이 있는 문자열
String str = "\u2003Hi Anna!\u2003";
// 공백 제거
String trimStr = str.trim();
String stripStr = str.strip();
// 공백 제거 문자열 출력
System.out.println("원본 문자열 : '" + str + "'");
System.out.println("trim 문자열 : '" + trimStr + "'");
System.out.println("strip 문자열 : '" + stripStr + "'");
}
}
결과
원본 문자열 : ' Hi Anna! '
trim 문자열 : ' Hi Anna! '
strip 문자열 : 'Hi Anna!'
위 예제의 문자열은
앞뒤로 공백 '\u2003' (EM SPACE)를 포함하고 있습니다.
이 공백은 '\u0020' 이상의 공백문자이기 때문에
trim() 메소드로는 이 공백을 제거할 수 없고,
strip() 메소드를 이용해야 합니다.
결과를 보면, trim() 메소드로 공백을 제거한 문자열에는 공백이 남아있고,
strip() 메소드로 공백을 제거한 문자열은 공백이 제거된 것을 확인 할 수 있습니다.
'IT > Java' 카테고리의 다른 글
[Java] String(문자열) 빈 값 체크하기 (null, 공백) (0) | 2021.04.25 |
---|---|
[Java] 10진수 <-> 2진수, 8진수, 16진수로 변환하기 (0) | 2021.04.24 |
[Java] String을 int로, int를 String으로 변환하기 (문자열 숫자 변환) (0) | 2021.04.21 |
[Java] 문자열에서 따옴표 제거 하기 (0) | 2021.04.21 |
[Java] 큰 따옴표 출력하는 3가지 방법 (0) | 2021.04.20 |