StringUtils란?
- 자바의 String 클래스가 제공하는 문자열 관련 기능을 강화한 클래스
- org.apache.commons.lang3.StringUtils
StringUtils의 특징
- StringUtils 클래스만으로 거의 대부분의 문자열 처리를 수행
- 파라미터 값으로 null을 주더라도 절대 NullPointException을 발생시키지 않음
> null이 입력되는 경우, 메서드에 따라 알맞은 결과를 리턴
API
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
StringUtils (Apache Commons Lang 3.12.0 API)
Splits a String by Character type as returned by java.lang.Character.getType(char). Groups of contiguous characters of the same type are returned as complete tokens, with the following exception: the character of type Character.UPPERCASE_LETTER, if any, im
commons.apache.org
메서드 예제
String str;
String str1;
Boolean bool;
str = "hello java.";
// str이 java를 포함하고 있으면 true 반환.
bool = StringUtils.contains(str, "java");
System.out.println("contains : " + bool);
// str이 null이면 "", 아니면 str 반환.
str1 = StringUtils.defaultString(str);
System.out.println("defaultString : " + str1);
str = "h e l l o j a v a .";
// 문자열 중 공백 문자가 있으면 모두 제거.
str1 = StringUtils.deleteWhitespace(str);
System.out.println("deleteWhitespace : " + str1);
str = "chocolleto";
str1 = "chocolleto";
// str과 str1이 동일한지 유무 반환.
bool = StringUtils.equals(str, str1);
System.out.println("equals : " + bool);
str = "JAVA";
str1 = "java";
// 대소문자 무시하고 str과 str1 비교.
bool = StringUtils.equalsIgnoreCase(str, str1);
System.out.println("equalsIgnoreCase : " + bool);
str = "chocolleto chocolleto";
// str에서 첫 번째 co의 인덱스를 반환. (인덱스는 0부터 시작)
int i = StringUtils.indexOf(str, "co");
System.out.println("indexOf : " + i);
// str에서 마지막 to의 인덱스 반환.
i = StringUtils.lastIndexOf(str, "to");
System.out.println("lastIndexOf : " + i);
// str이 null이거나 길이가 0이면 true 반환.
bool = StringUtils.isEmpty(str);
System.out.println("isEmpty : " + bool);
// str이 null이 아니거나 길이가 0이 아니면 true 반환.
bool = StringUtils.isNotEmpty(str);
System.out.println("isNotEmpty : " + bool);
String[] str3 = {"java", "javascript", "jQuery", "json"};
str = " | ";
// array에서 문자열을 읽어와 ' | '를 구분자로 연결.
str1 = StringUtils.join(str3, str);
System.out.println("join : " + str1);
str = "CHOCOLLETO";
// str을 소문자로 변환.
str1 = StringUtils.lowerCase(str);
System.out.println("lowerCase : " + str1);
str = "chocolleto";
//str을 대문자로 변환.
str1 = StringUtils.upperCase(str);
System.out.println("upperCase : " + str1);
str = "HELLO java";
// 대문자는 소문자로, 소문자는 대문자로 변환.
str1 = StringUtils.swapCase(str);
System.out.println("swapCase : " + str1);
//문자열의 앞뒤 순서를 바꿈.
str1 = StringUtils.reverse(str);
System.out.println("reverse : " + str1);
str = "c++, java, c#, javascript, jQuery";
// ','를 구분자로 사용하여 분리.
String[] str2 = StringUtils.split(str, ',');
for(int j=0 ; j < str2.length ; j++) {
System.out.println("split str2[" + j + "] : " + str2[j]);
}
str = " java ";
// 문자열 좌우에 있는 공백 문자를 제거.(trim()과 동일.)
str1 = StringUtils.strip(str);
System.out.println("strip : " + str1);
// 문자열 좌우 공백 문자 제거.
str1 = StringUtils.trim(str);
System.out.println("trim : " + str1);
실행 결과
contains : true
defaultString : hello java.
deleteWhitespace : hellojava.
equals : true
equalsIgnoreCase : true
indexOf : 3
lastIndexOf : 19
isEmpty : false
isNotEmpty : true
join : java | javascript | jQuery | json
lowerCase : chocolleto
upperCase : CHOCOLLETO
swapCase : hello JAVA
reverse : avaj OLLEH
split str2[0] : c++
split str2[1] : java
split str2[2] : c#
split str2[3] : javascript
split str2[4] : jQuery
strip : java
trim : java
사용법
모두 static 함수이기 때문에 아래와 같이 사용하면 된다.
String text = StringUtils.replace(str, repl, width);
추가 내용
StringUtils.EMPTY를 사용하여 빈값을 세팅할 수 있다.
StringUtils.EMPTY 상수 필드 이다.
String a = "";
String b = StringUtils.EMPTY;
if(a.equals(b)) System.out.println("같은 빈값이다.");
// [실행 결과]
// 같은 빈값이다.
참고 : https://kmj1107.tistory.com/entry/Java-StringUtils
'TIL > Java' 카테고리의 다른 글
[Java] com.fasterxml.jackson.databind.ObjectMapper(JSON <-> Java Object) (0) | 2022.11.04 |
---|---|
[Java] 문자열을 XML 파일로 생성하기 + DOM 객체를 파일로 저장하는 방법(DomSource, TransformerFactory, Transformer) (0) | 2022.10.31 |
[SIST] Java_days29 (0) | 2022.03.31 |
[SIST] Java_days28 (0) | 2022.03.29 |
[SIST] Java_days27 (0) | 2022.03.28 |