프로그래밍/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 |
반환값 | 함수명 | 파라미터 |
String | abbreviate | String str, int maxWidth |
"…"를 포함한 지정한 사이즈로 문자열을 축소한다 maxWidth은 4보다 커야한다 | ||
String | abbreviate | String str, int offset, int maxWidth |
"…"를 포함한 지정한 사이즈로 문자열을 앞/뒤로 축소한다 offset은 7보다 커야한다 | ||
String | capitalise | String str |
deprecated | ||
String | capitaliseAllWords | String str |
deprecated | ||
String | capitalize | String str |
문자열중 첫번째 문자를 대문자로 만든다 | ||
String | center | String str, int size |
str의 길이가 size가 되도록 문자열 좌우에 공백문자를 하나씩 추가한다 (우측부터 시작한다) | ||
String | center | String str, int size, char padChar |
str의 길이가 size가 되도록 문자열 좌우에 padChar를 하나씩 추가한다 (우측부터 시작한다) | ||
String | center | String str, int size, String padStr |
str의 길이가 size가 되도록 문자열 좌우에 padStr을 하나씩 추가한다 (우측부터 시작한다) | ||
String | chomp | String str |
문자열 맨 끝에있는 '\n' , '\r', '\r\n'을 제거한다 | ||
String | chomp | String str, String separator |
문자열 맨 끝에 separator가 있으면 이를 제거한다 | ||
String | chompLast | String str |
deprecated | ||
String | chompLast | String str, String sep |
deprecated | ||
String | chop | String str |
문자열 맨 끝에있는 문자 하나를 제거한다 | ||
String | chopNewline | String str |
deprecated | ||
String | clean | String str |
deprecated | ||
String | concatenate | Object array[] |
deprecated | ||
boolean | contains | String str, char searchChar |
str이 searchChar를 포함하고 있으면 true | ||
boolean | contains | String str, String searchStr |
str이 searchStr을 포함하고 있으면 true | ||
boolean | containsNone | String str, char invalidChars[] |
str이 invalidChars의 각 문자를 모두 포함하고 있지 않으면 true | ||
boolean | containsNone | String str, String invalidChars |
str이 invalidChars를 모두 포함하고 있지 않으면 true | ||
boolean | containsOnly | String str, char valid[] |
str이 valid의 각 문자들만 포함하고 있어야 true | ||
boolean | containsOnly | String str, String validChars |
str이 validChars 들만을 포함하고 있어야 true | ||
int | countMatches | String str, String sub |
str중에 sub가 포함되어있는 갯수를 반환한다 | ||
String | defaultString | String str |
str이 null이면 ""를 반환하고 아니면 str을 반환한다 | ||
String | defaultString | String str, String defaultStr |
str이 null이면 defaultStr을 반환하고 아니면 str을 반환한다 | ||
String | deleteSpaces | String str |
deprecated | ||
String | deleteWhitespace | String str |
문자열중 공백문자가 있으면 모두 제거한다 | ||
String | difference | String str1, String str2 |
str1과 str2를 비교하여 다른부분을 반환한다 (str2의 부분을 반환) | ||
boolean | equals | String str1, String str2 |
str1이 null이면 str2가 null인지 유무를 반환하고 str1이 null이 아니면 str1과 str2의 equals를 반환 | ||
boolean | equalsIgnoreCase | String str1, String str2 |
equals와 동일하며 대소문자를 무시하고 비교한다 | ||
String | escape | String str |
deprecated | ||
String | getChomp | String str, String sep |
deprecated | ||
String | getNestedString | String str, String tag |
deprecated | ||
String | getNestedString | String str, String open, String close |
deprecated | ||
String | getPrechomp | String str, String sep |
deprecated | ||
int | indexOf | String str, char searchChar |
str에서 첫번째 searchChar의 인덱스를 반환한다 | ||
int | indexOf | String str, char searchChar, int startPos |
str의 startPos 인덱스부터 첫번째 searchChar의 인덱스를 반환한다 | ||
int | indexOf | String str, String searchStr |
str에서 첫번째 searchStr의 인덱스를 반환한다 | ||
int | indexOf | String str, String searchStr, int startPos |
str의 startPos 인덱스로부터 첫번째 searchStr의 인덱스를 반환한다 | ||
int | indexOfAny | String str, char searchChars[] |
str에서 searchChars중 포함하고 있는 문자의 첫번째 인덱스를 반환한다 | ||
int | indexOfAny | String str String searchChars |
str에서 searchChars중 포함하고 있는 문자열의 첫번째 인덱스를 반환한다 | ||
int | indexOfAny | String str, String searchStrs[] |
str에서 searchStr중 포함하고 잇는 문자열의 첫번째 인덱스를 반환한다 | ||
int | indexOfAnyBut | String str char searchChars[] |
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다 | ||
int | indexOfAnyBut | String str, String searchChars |
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다 | ||
int | indexOfDifference | String str1, String str2 |
str1과 str2를 비교하여 문자열이 틀려지기 시작하는 인덱스를 반환한다 | ||
boolean | isAlpha | String str |
문자열이 모두 Character.isLetter 이면 true (모두 문자이면 true) | ||
boolean | isAlphanumeric | String str |
문자열이 모두 Character.isLetterOrDigit 이면 true (문자거나 숫자이면 true) | ||
boolean | isAlphanumericSpace | String str |
문자열이 모두 Character.isLetterOrDigit 이거나 공백이면 true | ||
boolean | isAlphaSpace | String str |
문자열이 모두 Character.isLetter 이거나 공백문자이면 true | ||
boolean | isBlank | String str |
문자열이 공백문자이거나 길이가 0이거나 null인경우 true | ||
boolean | isEmpty | String str |
문자열이 길이가 0이거나 null인경우 true | ||
boolean | isNotBlank | String str |
문자열이 공백문자도 아니고 길이가 0도 아니고 null도 아니면 true | ||
boolean | isNotEmpty | String str |
문자열이 길이가 0이 아니고 null도 아니면 true | ||
boolean | isNumeric | String str |
문자열이 모두 Character.isDigit 이면 true (모두 숫자이면 true) | ||
boolean | isNumericSpace | String str |
문자열이 모두 Character.isDigit 이거나 공백문자이면 true | ||
boolean | isWhitespace | String str |
문자열이 모두 Character.isWhitespace 이면 true (모두 공백이면 true) | ||
String | join | Object array[] |
array에서 문자열을 읽어와 모두 연결시킨다 | ||
String | join | Object array[], char separator |
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다 | ||
String | join | Object array[], String separator |
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다 | ||
String | join | Iterator iterator, char separator |
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다 | ||
String | join | Iterator iterator, String separator |
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다 | ||
int | lastIndexOf | String str, char searchChar |
str에서 마지막 searchChar의 인덱스를 반환한다 | ||
int | lastIndexOf | String str, char searchChar, int startPos |
str의 startPos 인덱스부터 마지막 searchChar의 인덱스를 반환한다 | ||
int | lastIndexOf | String str, String searchStr |
str에서 마지막 searchStr의 인덱스를 반환한다 | ||
int | lastIndexOf | String str, String searchStr, int startPos |
str의 startPos 인덱스부터 마지막 searchStr의 인덱스를 반환한다 | ||
int | lastIndexOfAny | String str, String searchStrs[] |
str에서 searchStr의 문자열들중 포함하고 있는 문자열의 마지막 인덱스를 반환한다 | ||
String | left | String str, int len |
str의 좌측에서 len 길이만큼 문자열을 구한다 | ||
String | leftPad | String str, int size |
str의 길이가 size가 되도록 문자열 왼쪽에 ' '을 추가한다 | ||
String | leftPad | String str, int size, char padChar |
str의 길이가 size가 되도록 문자열 왼쪽에 padChar를 추가한다 | ||
String | leftPad | String str, int size, String padStr |
str의 길이가 size가 되도록 문자열 왼쪽에 padStr을 추가한다 | ||
String | lowerCase | String str |
str을 소문자로 변환한다 | ||
String | mid | String str, int pos, int len |
str의 pos 인덱스부터 len 길이만큼의 문자열을 구한다 | ||
String | overlay | String str, String overlay, int start, int end |
str의 start부터 end까지overlay로 변환한다 | ||
String | overlayString | String text, String overlay, int start, int end |
deprecated | ||
String | prechomp | String str, String sep |
deprecated | ||
String | repeat | String str, int repeat |
str을 repeat만큼 반복하여 반환한다 | ||
String | replace | String text, String repl, String width |
text에서 모든 repl을 width로 변환한다 | ||
String | replace | String text, String repl, String width, int max |
text에서 모든 repl을 width로 변환하는데 최대 max개만큼 변환한다 | ||
String | replaceChars | String str, char searchChar, char replaceChar |
str에서 searchChar를 replaceChar로 모두 변환한다 | ||
String | replaceChars | String str, String searchChars, String replaceChars |
str에서 searchChars를 replaceChars로 모두 변환한다 | ||
String | replaceOne | String text, String repl, String width |
text에서 repl를 width로 변환하는데 첫번째 하나만 변환한다 | ||
String | reverse | String str |
문자열을 앞뒤 순서를 바꾼다 | ||
String | reverseDelimited | String str, char separatorChar |
separatorChar를 구분으로 문자열을 나눈 후 나눠진 단어들을 역순으로 바꾼다 | ||
String | reverseDelimitedString | String str, String separatorChars |
deprecated | ||
String | right | String str, int len |
str의 len길이만큼 우측에서 문자열을 구한다 | ||
String | rightPad | String str, int size |
str의 길이가 size가 되도록 문자열 오른쪽에 ' '을 추가한다 | ||
String | rightPad | String str, int size, char padChar |
str의 길이가 size가 되도록 문자열 오른쪽에 padChar를 추가한다 | ||
String | rightPad | String str, int size, String padStr |
str의 길이가 size가 되도록 문자열 오른쪽에 padStr을 추가한다 | ||
String[] | split | String str |
공백문자를 구분자로 사용하여 분리한다 | ||
String[] | split | String str, char separatorChar |
separatorChar를 구분자로 사용하여 분리한다 | ||
String[] | split | String str, String separatorChars |
separatorChars를 구분자로 사용하여 분리한다 | ||
String[] | split | String str, String seperatorChars, int max |
separatorChars를 구분자로 사용하여 분리한며 최대 max개 만큼한다. 배열의 크기는 max가 된다 | ||
String | strip | String str |
문자열 좌우에 있는 공백문자를 제거한다 trim과 동일하다 | ||
String | strip | String str, String stripChars |
문자열 좌우에 stripChars에 존재하는 문자를 제거한다 | ||
String[] | stripAll | String strs[] |
배열에 있는 모든 문자열 좌우에 있는 공백문자를 제거한다 | ||
String[] | stripAll | String strs[], String stripChars |
배열에 있는 모든 문자열 좌우에 stripChars에 존재하는 문자를 제거한다 | ||
String | stripEnd | String str, String stripChars |
문자열 우측에만 strip 한다 | ||
String | stripStart | String str, String stripChars |
문자열 좌측에만 strip 한다 | ||
String | stripToEmpty | String str |
str이 null이면 ""를 반환하고 아니면 strip 한다 | ||
String | stripToNull | String str |
str이 null이면 null을 반환하고 아니면 strip 한다 | ||
String | substring | String str, int start |
str의 start 인덱스부터 문자열을 구한다 | ||
String | substring | String str, int start, int end |
str의 start 부터 end 인덱스 까지 문자열을 구한다 | ||
String | substringAfter | String str, String separator |
str의 처음 separator 부분부터 문자열을 구한다 | ||
String | substringAfterLast | String str, String separator |
str의 마지막 separator부분부터 문자열을 구한다 | ||
String | substringBefore | String str, String separator |
str의 처음 separator 부분까지 문자열을 구한다 | ||
String | substringBeforeLast | String str, String separator |
str의 마지막 separator부분까지 문자열을 구한다 | ||
String | substringBetween | String str, String tag |
str에서 tag 사이에 있는 문자열을 구한다 | ||
String | substringBetween | String str, String open, String close |
str에서 open부터 close 까지 사이에 있는 문자열을 구한다 | ||
String | swapCase | String str |
대문자는 소문자로 변환하고 소문자는 대문자로 변환한다 | ||
String | trimToNull | String str |
str이 null이거나 length가 0이면 null을 반환하고 그렇지 않으면 좌우 공백문자를 제거한다 | ||
String | trim | String str |
문자열 좌우 공백문자를 제거한다 | ||
String | trimToEmpty | String str |
str이 null이면 ""를 반환하고 그렇지 않으면 좌우 공백문자를 제거한다 | ||
String | uncapitalise | String str |
deprecated | ||
String | uncapitalize | String str |
문자열의 첫문자를 소문자로 변환한다 | ||
String | upperCase | String str |
str을 대문자로 변환한다 |
사용법
모두 static 함수이기때문에 다음과 같이 사용하면 됩니다.
String text = StringUtils.replace(str, repl, width);
출처 :: http://blog.naver.com/chocolleto?Redirect=Log&logNo=30084396817
'프로그래밍 > 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 |