- 출처 : http://julingks.tistory.com/38 -
스프링에서 StringUtils 살펴보기
Util 라이브러리를 120% 활용하기 위해서는 어떤 메소드를 제공하는가를 빨리 파악해야 한다. 그래야 불필요 없는 중복 코드를 생성하지 않고, 자주 쓰는 간단한 함수를 작성하는데 드는 시간을 절약할 수 있다.
org.springframework.util 패키지에 있는 StringUtils 클래스를 살펴보자.
API 문서 http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/util/StringUtils.html
스트링 관련 잡단한 메서드들이 있다.
스프링 프레임웍 내부에서 사용하기 위해서 만들었는 데 Jakarta's Commons Lang의 스트링 유틸리티들의 좀 더 이해하기 쉬운 버전이라고 생각하면 되겠다.
배열이나 콜랙션을 delimiter로 연결된 문자열로 만드는 메서드들
static String arrayToCommaDelimitedString(Object[] arr)
스트링 배열의 요소를 콤마로 연결한다.
static String arrayToDelimitedString(Object[] arr, String delim)
스트링 배열을 delimiter로 연결한다.
static String collectionToCommaDelimitedString(Collection coll)
콜렉션을 콤마로 연결한다.
static String collectionToDelimitedString(Collection coll, String delim)
콜렉션을 delimiter로 연결한다.
static String collectionToDelimitedString(Collection coll, String delim, String prefix, String suffix)
콜렉션을 delimiter로 연결한다. (앞 뒤에 prefix와 suffix를 붙인다)
문자열을 delmiter로 나누어 배열이나 콜렉션으로 만드는 메서드들
static Set commaDelimitedListToSet(String str)
문자열을 콤마로 나누어 Set으로 변환
static String[] commaDelimitedListToStringArray(String str)
문자열을 콤마로 나누어 배열로 변환
static String[] delimitedListToStringArray(String str, String delimiter)
문자열을 delimiter로 나눈어 배열로 만든다.
static String[] delimitedListToStringArray(String str, String delimiter, String charsToDelete)
문자열을 delimiter로 나눈어 배열로 만든다.
static String[] tokenizeToStringArray(String str, String delimiters)
문자열을 delimiter들로 잘라서 배열로 만든다.
static String[] tokenizeToStringArray(String str, String delimiters, boolean trimTokens, boolean ignoreEmptyTokens)
문자열을 delimiter들로 잘라서 배열로 만든다. 토큰을 trim 할지 empty 토큰을 무시할지 정할 수 있다.
문자열 배열에 문자열을 추가하거나 문자열 배열을 병합하는 메서드들
static String[] addStringToArray(String[] array, String str)
문자열 배열에 스트링 추가
static String[] concatenateStringArrays(String[] array1, String[] array2)
주어진 문자열 배열을 하나로 합친다. (겹치는 요소는 두번 포함된다.)
static String[] mergeStringArrays(String[] array1, String[] array2)
주어진 두개의 문자열 배열을 하나로 합병한다. 겹치는 요소는 하나만 포함된다.
static String[] removeDuplicateStrings(String[] array)
스트링 배열에서 중복을 제거한다.
static String[] sortStringArray(String[] array)
주어진 문자열 배열을 정렬한다.
path관련 메서드들
static String getFilename(String path)
주어진 path로 부터 파일 이름을 추출한다.
static String getFilenameExtension(String path)
주어진 path로 부터 파일 확장자를 추출한다.
static String stripFilenameExtension(String path)
파일명에서 확장자를 제거한다.
static boolean pathEquals(String path1, String path2)
두 개의 path를 normalization 후에 비교한다.
static String cleanPath(String path)
Normalize the path by suppressing sequences like "path/.." and inner simple dots.
static String applyRelativePath(String path, String relativePath)
Apply the given relative path to the given path, assuming standard Java folder separation (i.e. "/" separators);
문자열을 검사
static int countOccurrencesOf(String str, String sub)
str안에 sub가 얼마나 나타나는지 센다.
static boolean hasLength(CharSequence str)
주어진 CharSequence 가 null 이거나 길이가 0 인지 확인한다.
static boolean hasLength(String str)
주어진 문자열이 null 이거나 길이가 0 인지 확인한다.
static boolean hasText(CharSequence str)
주어진 CharSequence가 실제 텍스트 인지 검사한다. (공백 문자인지 아닌지 확인)
static boolean hasText(String str)
주어진 문자열이 실제 텍스트 인지 검사한다. (공백 문자인지 아닌지 확인)
static boolean containsWhitespace(CharSequence str)
주어진 CharSequence가 공백문자를 포함하는 지 검사
static boolean containsWhitespace(String str)
주어진 문자열이 공백 문자열을 포함하고 있는지 검사
static boolean startsWithIgnoreCase(String str, String prefix)
대소문자 무시하고 문자열이 prefix로 시작하는 검사한다.
static boolean endsWithIgnoreCase(String str, String suffix)
주어진 문자열이 특정한 suffix 로 끝나는지 확인한다. (대소문자 무시)
static boolean substringMatch(CharSequence str, int index, CharSequence substring)
주어진 문자열이 주어진 index에서 부터 주어진 부분문자열과 일치하는게 있는지 검사한다.
split 관련
static String[] split(String toSplit, String delimiter)
문자열을 delimiter가 첫번째 나오는 곳에서 둘로 나누어 배열로 반환한다.
static Properties splitArrayElementsIntoProperties(String[] array, String delimiter)
문자열 배열에서 각각의 요소를 주어진 delimiter로 쪼개서 Properties로 반환한다.
static Properties splitArrayElementsIntoProperties(String[] array, String delimiter, String charsToDelete)
문자열 배열에서 각각의 요소를 주어진 delimiter로 쪼개서 Properties로 반환한다.
대소문자 변경
static String capitalize(String str)
첫번째 문자열 대문자로
static String uncapitalize(String str)
첫번째 문자를 소문자로 만든다.
콜렉션과 Enumeration을 문자열 배열로 변환
static String[] toStringArray(Collection collection)
콜랙션을 문자열 배열로 변환한다.
static String[] toStringArray(Enumeration enumeration)
Enumeration을 문자열 배열로 변환한다.
Locale관련
static Locale parseLocaleString(String localeString)
주어진 localeString에서 파싱하여 Locale 얻는다.
static String toLanguageTag(Locale locale)
Determine the RFC 3066 compliant language tag, as used for the HTTP "Accept-Language" header.
quotation
static String quote(String str)
주어진 문자열을 작은 따움표로 감싼다.
static Object quoteIfString(Object obj)
주어진 객체가 문자열이면 작은 따움표로 감싼 문자열로 변환한다. 객체 그대로 유지하여 반환한다.
문자열에서 부분 문자열이나 문자들을 삭제
static String delete(String inString, String pattern)
문자열에서 나타나는 pattern을 모든 지운다.
static String deleteAny(String inString, String charsToDelete)
주어진 문자열에서 어떤 문자들을 삭제한다. (e.g. charsToDelete가 "az\n" 라면 a와 z, 줄바꿈 문자가 모두 지워진다.
static String replace(String inString, String oldPattern, String newPattern)
문자열에서 모든 부분 문자열을 다른 문자열로 교체한다.
트림 관련 메서드들
static String trimAllWhitespace(String str)
문자열의 앞, 뒤, 중간 공백문자를 모두 정리
static String[] trimArrayElements(String[] array)
문자열 배열의 각각의 문자열에 trim() 을 호출
static String trimLeadingCharacter(String str, char leadingCharacter)
문자열에서 주어진 character로 시작하는
Trim all occurences of the supplied leading character from the given String.
static String trimLeadingWhitespace(String str)
Trim leading whitespace from the given String.
static String trimTrailingCharacter(String str, char trailingCharacter)
Trim all occurences of the supplied trailing character from the given String.
static String trimTrailingWhitespace(String str)
Trim trailing whitespace from the given String.
static String trimWhitespace(String str)
Trim leading and trailing whitespace from the given String.
unqualify
static String unqualify(String qualifiedName)
문자열의 마지막 '.' 문자 다음을 추출한다. (e.g. org.springframework.aop 라면 aop를 반환)
static String unqualify(String qualifiedName, char separator)
문자열의 마지막 separator 문자 다음을 추출한다. (e.g. 주어진 문자열이 ab:cd:efg 이고 separator가 콜론 이면 efg를 반환.