WEB/Spring

[Spring]문자열을 다루는 유용한 라이브러리(StringUtils) 알아보기_1

MoonSta 2023. 7. 16. 16:32

 Spring에서는 문자열 처리에 다양한 기능이 있는 StringUtils 라이브러리를 제공해 줍니다. 이번 포스팅에서는 해당 라이브러리를 사용하여 문자열을 처리하는 예제를 알아보도록 하겠습니다.

 


StringUtils 알아보기

 org.springFramework.util은 기본적으로 Spring Framework에 내장되어 있어서 별도의 디펜던시 없이 사용이 가능하다. 하지만 Java에서는 StringUtils을 사용하기 위해서는 org.apache.commons.lang의 다음과 같이 pom.xml에 직접 추가해주어야 한다.

 

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</articactid>
  <version>3.8</version>
</dependency>

 

 

 StringUtils 라이브러리는 기본적으로 NullPointerException에 대해 안전한 연산을 해주고, 기본적인 String 클래스에 없는 메서드를 제공하기 때문에 문자열에 대한 폭넓은 처리가 가능하기 때문에 반드시 알아야 하는 라이브러리입니다. 이제 자주 사용하는 메서드에 대해 알아보도록 하겠습니다.

 


 

StringUtils에서 null을 확인하는 메서드

//isEmpty() - 문자열이 null인지 아닌지 확인
System.out.println(StringUtils.isEmpty(null);
System.out.println(StringUtils.isEmpty("");
System.out.println(StringUtils.isEmpty("   ");

//true
//true
//false ( 공백은 false )


//hasLength() - 문자열이 null인지 아닌지 확인
System.out.println(StringUtils.hasLength(null);
System.out.println(StringUtils.hasLength("");
System.out.println(StringUtils.hasLength("   ");

//true
//true
//true

 

 문자열이 null인지 아닌지를 확인하는 메서드로 isEmpty(), hasLength()가 있습니다. 하지만 두 개의 차이는 공백을 문자로 인지하여 false를 반환하는 isEmpty()와 달리 hasLength()는 공백 또한 true로 반환합니다.

 

 

StringUtils에서 공백 처리 메서드

//공백을 포함여부 파악
System.out.println(StringUtils.containsWhiteSpace("        "));
//true

//문자열 앞 공백 제거
System.out.println(StringUtils.trimLeadingWhitespace(" 주마더입니다."));
//주마더입니다.

//문자열 뒤 공백 제거
System.out.println(StringUtils.trimTrailingWhitespace("주마더입니다.  "));
//주마더입니다.

System.out.println(StringUtils.trimWhitespace("   주마더입니다.  "));
//주마더입니다.

System.out.println(StringUtils.trimAllWhitespace("   주마  더 입니다.  "));
//주마더입니다.

 

StringUtils에 다양한 문자열에 공백을 처리하는 메서드입니다.

 

 

StringUtils에서 앞, 뒤 문자 제거 메서드

 

System.out.println(StringUtils.trimLeadingCharacter('주마더입니다'));
//마더입니다

System.out.println(StringUtils.trimTrailingCharacter('주마더입니다'));
//주마더입니