달력

122024  이전 다음

  • 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
  • 31
프로그래밍/JAVA 2016. 9. 23. 10:02


StringUtils

□ 정의
- org.apache.commons.lang.StringUtils.
- 자바의 String 클래스가 제공하는 문자열 관련 기능을 강화한 클래스.

□ 특징
- StringUtils 클래스만으로 거의 대부분의 문자열 처리를 수행.
- 파라미터 값으로 null을 주더라도 절대 NullPointException을 발생시키지 않음. 
(null이 입력되는 경우, 메소드에 따라 알맞은 결과를 리턴.)

□ API
http://commons.apache.org/lang/api-release/index.html

□ 예제
- 주요 method 테스트.

/* StringUtilsTest.java */

package com.chocolleto.board.user;

import org.apache.commons.lang.StringUtils;

public class StringUtilsTest {

public static void main(String[] args) {

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);

}

}
/* output */

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

 

 

반환값함수명파라미터
StringabbreviateString str, int maxWidth
"…"를 포함한 지정한 사이즈로 문자열을 축소한다 maxWidth은 4보다 커야한다
StringabbreviateString str, int offset, int maxWidth
"…"를 포함한 지정한 사이즈로 문자열을 앞/뒤로 축소한다 offset은 7보다 커야한다
StringcapitaliseString str
deprecated
StringcapitaliseAllWordsString str
deprecated
StringcapitalizeString str
문자열중 첫번째 문자를 대문자로 만든다
StringcenterString str, int size
str의 길이가 size가 되도록 문자열 좌우에 공백문자를 하나씩 추가한다 (우측부터 시작한다)
StringcenterString str, int size, char padChar
str의 길이가 size가 되도록 문자열 좌우에 padChar를 하나씩 추가한다 (우측부터 시작한다)
StringcenterString str, int size, String padStr
str의 길이가 size가 되도록 문자열 좌우에 padStr을 하나씩 추가한다 (우측부터 시작한다)
StringchompString str
문자열 맨 끝에있는 '\n' , '\r', '\r\n'을 제거한다
StringchompString str, String separator
문자열 맨 끝에 separator가 있으면 이를 제거한다
StringchompLastString str
deprecated
StringchompLastString str, String sep
deprecated
StringchopString str
문자열 맨 끝에있는 문자 하나를 제거한다
StringchopNewlineString str
deprecated
StringcleanString str
deprecated
StringconcatenateObject array[]
deprecated
booleancontainsString str, char searchChar
str이 searchChar를 포함하고 있으면 true
booleancontainsString str, String searchStr
str이 searchStr을 포함하고 있으면 true
booleancontainsNoneString str, char invalidChars[]
str이 invalidChars의 각 문자를 모두 포함하고 있지 않으면 true
booleancontainsNoneString str, String invalidChars
str이 invalidChars를 모두 포함하고 있지 않으면 true
booleancontainsOnlyString str, char valid[]
str이 valid의 각 문자들만 포함하고 있어야 true
booleancontainsOnlyString str, String validChars
str이 validChars 들만을 포함하고 있어야 true
intcountMatchesString str, String sub
str중에 sub가 포함되어있는 갯수를 반환한다
StringdefaultStringString str
str이 null이면 ""를 반환하고 아니면 str을 반환한다
StringdefaultStringString str, String defaultStr
str이 null이면 defaultStr을 반환하고 아니면 str을 반환한다
StringdeleteSpacesString str
deprecated
StringdeleteWhitespaceString str
문자열중 공백문자가 있으면 모두 제거한다
StringdifferenceString str1, String str2
str1과 str2를 비교하여 다른부분을 반환한다 (str2의 부분을 반환)
booleanequalsString str1, String str2
str1이 null이면 str2가 null인지 유무를 반환하고 str1이 null이 아니면 str1과 str2의 equals를 반환
booleanequalsIgnoreCaseString str1, String str2
equals와 동일하며 대소문자를 무시하고 비교한다
StringescapeString str
deprecated
StringgetChompString str, String sep
deprecated
StringgetNestedStringString str, String tag
deprecated
StringgetNestedStringString str, String open, String close
deprecated
StringgetPrechompString str, String sep
deprecated
intindexOfString str, char searchChar
str에서 첫번째 searchChar의 인덱스를 반환한다
intindexOfString str, char searchChar, int startPos
str의 startPos 인덱스부터 첫번째 searchChar의 인덱스를 반환한다
intindexOfString str, String searchStr
str에서 첫번째 searchStr의 인덱스를 반환한다
intindexOfString str, String searchStr, int startPos
str의 startPos 인덱스로부터 첫번째 searchStr의 인덱스를 반환한다
intindexOfAnyString str, char searchChars[]
str에서 searchChars중 포함하고 있는 문자의 첫번째 인덱스를 반환한다
intindexOfAnyString str String searchChars
str에서 searchChars중 포함하고 있는 문자열의 첫번째 인덱스를 반환한다
intindexOfAnyString str, String searchStrs[]
str에서 searchStr중 포함하고 잇는 문자열의 첫번째 인덱스를 반환한다
intindexOfAnyButString str char searchChars[]
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다
intindexOfAnyButString str, String searchChars
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다
intindexOfDifferenceString str1, String str2
str1과 str2를 비교하여 문자열이 틀려지기 시작하는 인덱스를 반환한다
booleanisAlphaString str
문자열이 모두 Character.isLetter 이면 true (모두 문자이면 true)
booleanisAlphanumericString str
문자열이 모두 Character.isLetterOrDigit 이면 true (문자거나 숫자이면 true)
booleanisAlphanumericSpaceString str
문자열이 모두 Character.isLetterOrDigit 이거나 공백이면 true
booleanisAlphaSpaceString str
문자열이 모두 Character.isLetter 이거나 공백문자이면 true
booleanisBlankString str
문자열이 공백문자이거나 길이가 0이거나 null인경우 true
booleanisEmptyString str
문자열이 길이가 0이거나 null인경우 true
booleanisNotBlankString str
문자열이 공백문자도 아니고 길이가 0도 아니고 null도 아니면 true
booleanisNotEmptyString str
문자열이 길이가 0이 아니고 null도 아니면 true
booleanisNumericString str
문자열이 모두 Character.isDigit 이면 true (모두 숫자이면 true)
booleanisNumericSpaceString str
문자열이 모두 Character.isDigit 이거나 공백문자이면 true
booleanisWhitespaceString str
문자열이 모두 Character.isWhitespace 이면 true (모두 공백이면 true)
StringjoinObject array[]
array에서 문자열을 읽어와 모두 연결시킨다
StringjoinObject array[], char separator
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다
StringjoinObject array[], String separator
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다
StringjoinIterator iterator, char separator
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다
StringjoinIterator iterator, String separator
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다
intlastIndexOfString str, char searchChar
str에서 마지막 searchChar의 인덱스를 반환한다
intlastIndexOfString str, char searchChar, int startPos
str의 startPos 인덱스부터 마지막 searchChar의 인덱스를 반환한다
intlastIndexOfString str, String searchStr
str에서 마지막 searchStr의 인덱스를 반환한다
intlastIndexOfString str, String searchStr, int startPos
str의 startPos 인덱스부터 마지막 searchStr의 인덱스를 반환한다
intlastIndexOfAnyString str, String searchStrs[]
str에서 searchStr의 문자열들중 포함하고 있는 문자열의 마지막 인덱스를 반환한다
StringleftString str, int len
str의 좌측에서 len 길이만큼 문자열을 구한다
StringleftPadString str, int size
str의 길이가 size가 되도록 문자열 왼쪽에 ' '을 추가한다
StringleftPadString str, int size, char padChar
str의 길이가 size가 되도록 문자열 왼쪽에 padChar를 추가한다
StringleftPadString str, int size, String padStr
str의 길이가 size가 되도록 문자열 왼쪽에 padStr을 추가한다
StringlowerCaseString str
str을 소문자로 변환한다
StringmidString str, int pos, int len
str의 pos 인덱스부터 len 길이만큼의 문자열을 구한다
StringoverlayString str, String overlay, int start, int end
str의 start부터 end까지overlay로 변환한다
StringoverlayStringString text, String overlay, int start, int end
deprecated
StringprechompString str, String sep
deprecated
StringrepeatString str, int repeat
str을 repeat만큼 반복하여 반환한다
StringreplaceString text, String repl, String width
text에서 모든 repl을 width로 변환한다
StringreplaceString text, String repl, String width, int max
text에서 모든 repl을 width로 변환하는데 최대 max개만큼 변환한다
StringreplaceCharsString str, char searchChar, char replaceChar
str에서 searchChar를 replaceChar로 모두 변환한다
StringreplaceCharsString str, String searchChars, String replaceChars
str에서 searchChars를 replaceChars로 모두 변환한다
StringreplaceOneString text, String repl, String width
text에서 repl를 width로 변환하는데 첫번째 하나만 변환한다
StringreverseString str
문자열을 앞뒤 순서를 바꾼다
StringreverseDelimitedString str, char separatorChar
separatorChar를 구분으로 문자열을 나눈 후 나눠진 단어들을 역순으로 바꾼다
StringreverseDelimitedStringString str, String separatorChars
deprecated
StringrightString str, int len
str의 len길이만큼 우측에서 문자열을 구한다
StringrightPadString str, int size
str의 길이가 size가 되도록 문자열 오른쪽에 ' '을 추가한다
StringrightPadString str, int size, char padChar
str의 길이가 size가 되도록 문자열 오른쪽에 padChar를 추가한다
StringrightPadString str, int size, String padStr
str의 길이가 size가 되도록 문자열 오른쪽에 padStr을 추가한다
String[]splitString str
공백문자를 구분자로 사용하여 분리한다
String[]splitString str, char separatorChar
separatorChar를 구분자로 사용하여 분리한다
String[]splitString str, String separatorChars
separatorChars를 구분자로 사용하여 분리한다
String[]splitString str, String seperatorChars, int max
separatorChars를 구분자로 사용하여 분리한며 최대 max개 만큼한다. 배열의 크기는 max가 된다
StringstripString str
문자열 좌우에 있는 공백문자를 제거한다 trim과 동일하다
StringstripString str, String stripChars
문자열 좌우에 stripChars에 존재하는 문자를 제거한다
String[]stripAllString strs[]
배열에 있는 모든 문자열 좌우에 있는 공백문자를 제거한다
String[]stripAllString strs[], String stripChars
배열에 있는 모든 문자열 좌우에 stripChars에 존재하는 문자를 제거한다
StringstripEndString str, String stripChars
문자열 우측에만 strip 한다
StringstripStartString str, String stripChars
문자열 좌측에만 strip 한다
StringstripToEmptyString str
str이 null이면 ""를 반환하고 아니면 strip 한다
StringstripToNullString str
str이 null이면 null을 반환하고 아니면 strip 한다
StringsubstringString str, int start
str의 start 인덱스부터 문자열을 구한다
StringsubstringString str, int start, int end
str의 start 부터 end 인덱스 까지 문자열을 구한다
StringsubstringAfterString str, String separator
str의 처음 separator 부분부터 문자열을 구한다
StringsubstringAfterLastString str, String separator
str의 마지막 separator부분부터 문자열을 구한다
StringsubstringBeforeString str, String separator
str의 처음 separator 부분까지 문자열을 구한다
StringsubstringBeforeLastString str, String separator
str의 마지막 separator부분까지 문자열을 구한다
StringsubstringBetweenString str, String tag
str에서 tag 사이에 있는 문자열을 구한다
StringsubstringBetweenString str, String open, String close
str에서 open부터 close 까지 사이에 있는 문자열을 구한다
StringswapCaseString str
대문자는 소문자로 변환하고 소문자는 대문자로 변환한다
StringtrimToNullString str
str이 null이거나 length가 0이면 null을 반환하고 그렇지 않으면 좌우 공백문자를 제거한다
StringtrimString str
문자열 좌우 공백문자를 제거한다
StringtrimToEmptyString str
str이 null이면 ""를 반환하고 그렇지 않으면 좌우 공백문자를 제거한다
StringuncapitaliseString str
deprecated
StringuncapitalizeString str
문자열의 첫문자를 소문자로 변환한다
StringupperCaseString str
str을 대문자로 변환한다

 

사용법

모두 static 함수이기때문에 다음과 같이 사용하면 됩니다.

String text = StringUtils.replace(str, repl, width);

 

 

 

출처 :: http://blog.naver.com/chocolleto?Redirect=Log&logNo=30084396817

 

또다른 출처 :: http://www.jakartaproject.com/board-read.do?boardId=jakarta&boardNo=111069298414100&categoryId=-1&command=READ&page=1 

'프로그래밍 > JAVA' 카테고리의 다른 글

Implementation (impl) 을 만들때 @Override 를 붙여야하는 이유  (0) 2016.09.23
Forward와 Include의 차이점  (0) 2016.09.23
Spring - Ioc & DI  (0) 2016.09.23
Java Collection Framework (JCF)  (0) 2016.09.23
디자인 패턴  (0) 2016.09.23
Posted by 당구치는 개발자
|