Apache commons-langのStringUtilsで使えそうなものを抜き出してみた
commons-lang3.1のAPIから気になるものだけ抜き出したので、他に記載してないものもあります。
サンプルコードはAPIのコピペです。
文字列に関するよく使うロジックがまとまっているクラスです。
文字列をnullで比較するとぬるぽで落ちてしまうのですが、このクラスのものを使うとぬるぽで落ちなくなります。
if(hoge != null)という冗長なコードがなくなってスッキリします。
まとめていると同じようなものがあったので使い分けはどうするのか不明です。
若干処理内容が異なるかもしれませんのでその点は注意して下さい。
バージョン
commns-lang 3.1目次
- 判定
- isEmpty:nullまたは空文字のときtrueを返す
- isNotEmpty:nullまたは空文字ではないときtrueを返す
- isBlank:空文字ならtrueを返す
- isNotBlank:空文字ではないならtrueを返す
- isAlpha:アルファベットならtrueを返す
- isAlphaSpace:アルファベットまたは空白ならtrueを返す
- isAlphanumeric:アルファベットまたは数字ならtrueを返す
- isAlphanumericSpace:アルファベットまたは数字または空白ならtrueを返す
- isNumeric:数字ならtrueを返す
- isNumericSpace:数値または空白ならtrueを返す
- isWhitespace:空白ならtrueを返す
- isAllLowerCase:全て小文字ならtrueを返す
- isAllUpperCase:全て大文字ならtrueを返す
- startsWith:文字列の先頭が指定文字列で始まっていればtrueを返す
- startsWithIgnoreCase:大文字・小文字を区別せずに文字列の先頭が指定文字列で始まっていればtrueを返す
- startsWithAny:文字列の先頭が指定文字列のいずれかで始まっていればtrueを返す
- endsWith:文字列の末尾が指定文字列で終わっていればtrueを返す
- endsWithIgnoreCase:大文字・小文字を区別せずに文字列の末尾が指定文字列で終わっていればtrueを返す
- endsWithAny:文字列の末尾が指定文字列のいずれかで終わっていればtrueを返す
- 除去・削除
- trim:文字列の先頭、末尾から制御文字を除去する
- trimToNull:文字列の先頭、末尾から制御文字を除去し、結果が空文字ならnullを返す
- trimToEmpty:文字列の先頭、末尾から制御文字を除去し、結果が空文字なら空文字を返す
- strip:文字列の先頭、末尾の空白を除去する 指定文字でも除去可能
- stripToNull:文字列の先頭、末尾の空白を除去し、結果が空文字ならnullを返す
- stripToEmpty:文字列の先頭、末尾の空白を除去し、結果がnullなら空文字を返す
- stripStart:文字列の先頭から指定文字を除去する
- stripEnd:文字列の末尾から指定文字を除去する
- stripAll:複数の文字列から空白を除去する 指定文字でも可能
- deleteWhitespace:空白を削除する
- removeStart:文字列の先頭を指定文字で削除する
- removeStartIgnoreCase:大文字・小文字を区別せずに文字列の先頭を指定文字で削除する
- removeEnd:文字列の末尾を指定文字で削除する
- removeEndIgnoreCase:大文字・小文字を区別せずに文字列の末尾を指定文字で削除する
- remove:指定文字を削除する
- chomp:文字列末尾の改行コードを削除する
- 比較
- 検索
- 切り出し
- substring:nullを考慮して指定位置の文字列を切り出す
- left:文字列の先頭から指定文字数を切り出す
- right:文字列の末尾から指定文字数を切り出す
- mid:開始位置から指定文字数を切り出す
- substringBefore:指定文字が最初に発見された文字より前の文字を切り出す
- substringAfter:指定文字が最初に発見された文字より後の文字を切り出す
- substringBeforeLast:指定文字が最後に発見された文字より前の文字を切り出す
- substringAfterLast:指定文字が最後に発見された文字より後の文字を切り出す
- split:指定文字で文字列を分割する
- 変換
isEmpty
nullまたは空文字のときtrueを返すStringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false StringUtils.isEmpty("bob") = false StringUtils.isEmpty(" bob ") = false
isNotEmpty
nullまたは空文字ではないときtrueを返すStringUtils.isNotEmpty(null) = false StringUtils.isNotEmpty("") = false StringUtils.isNotEmpty(" ") = true StringUtils.isNotEmpty("bob") = true StringUtils.isNotEmpty(" bob ") = true
isBlank
空文字ならtrueを返すStringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank("bob") = false StringUtils.isBlank(" bob ") = false
isNotBlank
空文字ではないならtrueを返すStringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank("bob") = true StringUtils.isNotBlank(" bob ") = true
isAlpha
アルファベットならtrueを返すStringUtils.isAlpha(null) = false StringUtils.isAlpha("") = false StringUtils.isAlpha(" ") = false StringUtils.isAlpha("abc") = true StringUtils.isAlpha("ab2c") = false StringUtils.isAlpha("ab-c") = false
isAlphaSpace
アルファベットまたは空白ならtrueを返すStringUtils.isAlphaSpace(null) = false StringUtils.isAlphaSpace("") = true StringUtils.isAlphaSpace(" ") = true StringUtils.isAlphaSpace("abc") = true StringUtils.isAlphaSpace("ab c") = true StringUtils.isAlphaSpace("ab2c") = false StringUtils.isAlphaSpace("ab-c") = false
StringUtils.isAlphanumeric(null) = false StringUtils.isAlphanumeric("") = false StringUtils.isAlphanumeric(" ") = false StringUtils.isAlphanumeric("abc") = true StringUtils.isAlphanumeric("ab c") = false StringUtils.isAlphanumeric("ab2c") = true StringUtils.isAlphanumeric("ab-c") = false
isAlphanumericSpace
アルファベットまたは数字または空白ならtrueを返すStringUtils.isAlphanumericSpace(null) = false StringUtils.isAlphanumericSpace("") = true StringUtils.isAlphanumericSpace(" ") = true StringUtils.isAlphanumericSpace("abc") = true StringUtils.isAlphanumericSpace("ab c") = true StringUtils.isAlphanumericSpace("ab2c") = true StringUtils.isAlphanumericSpace("ab-c") = false
isNumeric
数字ならtrueを返すStringUtils.isNumeric(null) = false StringUtils.isNumeric("") = false StringUtils.isNumeric(" ") = false StringUtils.isNumeric("123") = true StringUtils.isNumeric("12 3") = false StringUtils.isNumeric("ab2c") = false StringUtils.isNumeric("12-3") = false StringUtils.isNumeric("12.3") = false
isNumericSpace
数値または空白ならtrueを返すStringUtils.isNumericSpace(null) = false StringUtils.isNumericSpace("") = true StringUtils.isNumericSpace(" ") = true StringUtils.isNumericSpace("123") = true StringUtils.isNumericSpace("12 3") = true StringUtils.isNumericSpace("ab2c") = false StringUtils.isNumericSpace("12-3") = false StringUtils.isNumericSpace("12.3") = false
isWhitespace
空白ならtrueを返すStringUtils.isWhitespace(null) = false StringUtils.isWhitespace("") = true StringUtils.isWhitespace(" ") = true StringUtils.isWhitespace("abc") = false StringUtils.isWhitespace("ab2c") = false StringUtils.isWhitespace("ab-c") = false
isAllLowerCase
全て小文字ならtrueを返すStringUtils.isAllLowerCase(null) = false StringUtils.isAllLowerCase("") = false StringUtils.isAllLowerCase(" ") = false StringUtils.isAllLowerCase("abc") = true StringUtils.isAllLowerCase("abC") = false
isAllUpperCase
全て大文字ならtrueを返すStringUtils.isAllUpperCase(null) = false StringUtils.isAllUpperCase("") = false StringUtils.isAllUpperCase(" ") = false StringUtils.isAllUpperCase("ABC") = true StringUtils.isAllUpperCase("aBC") = false
startsWith
文字列の先頭が指定文字列で始まっていればtrueを返すStringUtils.startsWith(null, null) = true StringUtils.startsWith(null, "abc") = false StringUtils.startsWith("abcdef", null) = false StringUtils.startsWith("abcdef", "abc") = true StringUtils.startsWith("ABCDEF", "abc") = false
startsWithIgnoreCase
大文字・小文字を区別せずに文字列の先頭が指定文字列で始まっていればtrueを返すStringUtils.startsWithIgnoreCase(null, null) = true StringUtils.startsWithIgnoreCase(null, "abc") = false StringUtils.startsWithIgnoreCase("abcdef", null) = false StringUtils.startsWithIgnoreCase("abcdef", "abc") = true StringUtils.startsWithIgnoreCase("ABCDEF", "abc") = true
startsWithAny
文字列の先頭が指定文字列のいずれかで始まっていればtrueを返すStringUtils.startsWithAny(null, null) = false StringUtils.startsWithAny(null, new String[] {"abc"}) = false StringUtils.startsWithAny("abcxyz", null) = false StringUtils.startsWithAny("abcxyz", new String[] {""}) = false StringUtils.startsWithAny("abcxyz", new String[] {"abc"}) = true StringUtils.startsWithAny("abcxyz", new String[] {null, "xyz", "abc"}) = true
endsWith
文字列の末尾が指定文字列で終わっていればtrueを返すStringUtils.endsWith(null, null) = true StringUtils.endsWith(null, "def") = false StringUtils.endsWith("abcdef", null) = false StringUtils.endsWith("abcdef", "def") = true StringUtils.endsWith("ABCDEF", "def") = false StringUtils.endsWith("ABCDEF", "cde") = false
endsWithIgnoreCase
大文字・小文字を区別せずに文字列の末尾が指定文字列で終わっていればtrueを返すStringUtils.endsWithIgnoreCase(null, null) = true StringUtils.endsWithIgnoreCase(null, "def") = false StringUtils.endsWithIgnoreCase("abcdef", null) = false StringUtils.endsWithIgnoreCase("abcdef", "def") = true StringUtils.endsWithIgnoreCase("ABCDEF", "def") = true StringUtils.endsWithIgnoreCase("ABCDEF", "cde") = false
endsWithAny
文字列の末尾が指定文字列のいずれかで終わっていればtrueを返すStringUtils.endsWithAny(null, null) = false StringUtils.endsWithAny(null, new String[] {"abc"}) = false StringUtils.endsWithAny("abcxyz", null) = false StringUtils.endsWithAny("abcxyz", new String[] {""}) = true StringUtils.endsWithAny("abcxyz", new String[] {"xyz"}) = true StringUtils.endsWithAny("abcxyz", new String[] {null, "xyz", "abc"}) = true
trim
文字列の先頭、末尾から制御文字を除去するStringUtils.trim(null) = null StringUtils.trim("") = "" StringUtils.trim(" ") = "" StringUtils.trim("abc") = "abc" StringUtils.trim(" abc ") = "abc"
trimToNull
文字列の先頭、末尾から制御文字を除去し、結果が空文字ならnullを返すStringUtils.trimToNull(null) = null StringUtils.trimToNull("") = null StringUtils.trimToNull(" ") = null StringUtils.trimToNull("abc") = "abc" StringUtils.trimToNull(" abc ") = "abc"
trimToEmpty
文字列の先頭、末尾から制御文字を除去し、結果が空文字なら空文字を返すStringUtils.trimToEmpty(null) = "" StringUtils.trimToEmpty("") = "" StringUtils.trimToEmpty(" ") = "" StringUtils.trimToEmpty("abc") = "abc" StringUtils.trimToEmpty(" abc ") = "abc"
strip
文字列の先頭、末尾の空白を除去する 指定文字でも除去可能// 空白を除去 StringUtils.strip(null) = null StringUtils.strip("") = "" StringUtils.strip(" ") = "" StringUtils.strip("abc") = "abc" StringUtils.strip(" abc") = "abc" StringUtils.strip("abc ") = "abc" StringUtils.strip(" abc ") = "abc" StringUtils.strip(" ab c ") = "ab c" // 指定文字で除去 StringUtils.strip(null, *) = null StringUtils.strip("", *) = "" StringUtils.strip("abc", null) = "abc" StringUtils.strip(" abc", null) = "abc" StringUtils.strip("abc ", null) = "abc" StringUtils.strip(" abc ", null) = "abc" StringUtils.strip(" abcyx", "xyz") = " abc"
stripToNull
文字列の先頭、末尾の空白を除去し、結果が空文字ならnullを返すStringUtils.stripToNull(null) = null StringUtils.stripToNull("") = null StringUtils.stripToNull(" ") = null StringUtils.stripToNull("abc") = "abc" StringUtils.stripToNull(" abc") = "abc" StringUtils.stripToNull("abc ") = "abc" StringUtils.stripToNull(" abc ") = "abc" StringUtils.stripToNull(" ab c ") = "ab c"
stripToEmpty
文字列の先頭、末尾の空白を除去し、結果がnullなら空文字を返すStringUtils.stripToEmpty(null) = "" StringUtils.stripToEmpty("") = "" StringUtils.stripToEmpty(" ") = "" StringUtils.stripToEmpty("abc") = "abc" StringUtils.stripToEmpty(" abc") = "abc" StringUtils.stripToEmpty("abc ") = "abc" StringUtils.stripToEmpty(" abc ") = "abc" StringUtils.stripToEmpty(" ab c ") = "ab c"
stripStart
文字列の先頭から指定文字を除去するStringUtils.stripStart(null, *) = null StringUtils.stripStart("", *) = "" StringUtils.stripStart("abc", "") = "abc" StringUtils.stripStart("abc", null) = "abc" StringUtils.stripStart(" abc", null) = "abc" StringUtils.stripStart("abc ", null) = "abc " StringUtils.stripStart(" abc ", null) = "abc " StringUtils.stripStart("yxabc ", "xyz") = "abc "
stripEnd
文字列の末尾から指定文字を除去するStringUtils.stripEnd(null, *) = null StringUtils.stripEnd("", *) = "" StringUtils.stripEnd("abc", "") = "abc" StringUtils.stripEnd("abc", null) = "abc" StringUtils.stripEnd(" abc", null) = " abc" StringUtils.stripEnd("abc ", null) = "abc" StringUtils.stripEnd(" abc ", null) = " abc" StringUtils.stripEnd(" abcyx", "xyz") = " abc" StringUtils.stripEnd("120.00", ".0") = "12"
stripAll
複数の文字列から空白を除去する 指定文字でも可能StringUtils.stripAll(null) = null StringUtils.stripAll([]) = [] StringUtils.stripAll(["abc", " abc"]) = ["abc", "abc"] StringUtils.stripAll(["abc ", null]) = ["abc", null] // 指定文字を除去 StringUtils.stripAll(null, *) = null StringUtils.stripAll([], *) = [] StringUtils.stripAll(["abc", " abc"], null) = ["abc", "abc"] StringUtils.stripAll(["abc ", null], null) = ["abc", null] StringUtils.stripAll(["abc ", null], "yz") = ["abc ", null] StringUtils.stripAll(["yabcz", null], "yz") = ["abc", null]
deleteWhitespace
空白を削除するStringUtils.deleteWhitespace(null) = null StringUtils.deleteWhitespace("") = "" StringUtils.deleteWhitespace("abc") = "abc" StringUtils.deleteWhitespace(" ab c ") = "abc"
removeStart
文字列の先頭を指定文字で削除するStringUtils.removeStart(null, *) = null StringUtils.removeStart("", *) = "" StringUtils.removeStart(*, null) = * StringUtils.removeStart("www.domain.com", "www.") = "domain.com" StringUtils.removeStart("domain.com", "www.") = "domain.com" StringUtils.removeStart("www.domain.com", "domain") = "www.domain.com" StringUtils.removeStart("abc", "") = "abc"
removeStartIgnoreCase
大文字・小文字を区別せずに文字列の先頭を指定文字で削除するStringUtils.removeStartIgnoreCase(null, *) = null StringUtils.removeStartIgnoreCase("", *) = "" StringUtils.removeStartIgnoreCase(*, null) = * StringUtils.removeStartIgnoreCase("www.domain.com", "www.") = "domain.com" StringUtils.removeStartIgnoreCase("www.domain.com", "WWW.") = "domain.com" StringUtils.removeStartIgnoreCase("domain.com", "www.") = "domain.com" StringUtils.removeStartIgnoreCase("www.domain.com", "domain") = "www.domain.com" StringUtils.removeStartIgnoreCase("abc", "") = "abc"
removeEnd
文字列の末尾を指定文字で削除するStringUtils.removeEnd(null, *) = null StringUtils.removeEnd("", *) = "" StringUtils.removeEnd(*, null) = * StringUtils.removeEnd("www.domain.com", ".com.") = "www.domain.com" StringUtils.removeEnd("www.domain.com", ".com") = "www.domain" StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com" StringUtils.removeEnd("abc", "") = "abc"
removeEndIgnoreCase
大文字・小文字を区別せずに文字列の末尾を指定文字で削除するStringUtils.removeEndIgnoreCase(null, *) = null StringUtils.removeEndIgnoreCase("", *) = "" StringUtils.removeEndIgnoreCase(*, null) = * StringUtils.removeEndIgnoreCase("www.domain.com", ".com.") = "www.domain.com" StringUtils.removeEndIgnoreCase("www.domain.com", ".com") = "www.domain" StringUtils.removeEndIgnoreCase("www.domain.com", "domain") = "www.domain.com" StringUtils.removeEndIgnoreCase("abc", "") = "abc" StringUtils.removeEndIgnoreCase("www.domain.com", ".COM") = "www.domain") StringUtils.removeEndIgnoreCase("www.domain.COM", ".com") = "www.domain")
remove
指定文字を削除するStringUtils.remove(null, *) = null StringUtils.remove("", *) = "" StringUtils.remove(*, null) = * StringUtils.remove(*, "") = * StringUtils.remove("queued", "ue") = "qd" StringUtils.remove("queued", "zz") = "queued"
chomp
文字列末尾の改行コードを削除するStringUtils.chomp(null) = null StringUtils.chomp("") = "" StringUtils.chomp("abc \r") = "abc " StringUtils.chomp("abc\n") = "abc" StringUtils.chomp("abc\r\n") = "abc" StringUtils.chomp("abc\r\n\r\n") = "abc\r\n" StringUtils.chomp("abc\n\r") = "abc\n" StringUtils.chomp("abc\n\rabc") = "abc\n\rabc" StringUtils.chomp("\r") = "" StringUtils.chomp("\n") = "" StringUtils.chomp("\r\n") = ""
equals
nullを考慮して文字列を比較するStringUtils.equals(null, null) = true StringUtils.equals(null, "abc") = false StringUtils.equals("abc", null) = false StringUtils.equals("abc", "abc") = true StringUtils.equals("abc", "ABC") = false
equalsIgnoreCase
nullを考慮し大文字・小文字を区別せずに文字列を比較するStringUtils.equalsIgnoreCase(null, null) = true StringUtils.equalsIgnoreCase(null, "abc") = false StringUtils.equalsIgnoreCase("abc", null) = false StringUtils.equalsIgnoreCase("abc", "abc") = true StringUtils.equalsIgnoreCase("abc", "ABC") = true
difference
文字列を比較し異なる部分を返すStringUtils.difference(null, null) = null StringUtils.difference("", "") = "" StringUtils.difference("", "abc") = "abc" StringUtils.difference("abc", "") = "" StringUtils.difference("abc", "abc") = "" StringUtils.difference("ab", "abxyz") = "xyz" StringUtils.difference("abcde", "abxyz") = "xyz" StringUtils.difference("abcde", "xyz") = "xyz"
indexOfDifference
文字列を比較し異なる部分の開始位置を返すStringUtils.indexOfDifference(null, null) = -1 StringUtils.indexOfDifference("", "") = -1 StringUtils.indexOfDifference("", "abc") = 0 StringUtils.indexOfDifference("abc", "") = 0 StringUtils.indexOfDifference("abc", "abc") = -1 StringUtils.indexOfDifference("ab", "abxyz") = 2 StringUtils.indexOfDifference("abcde", "abxyz") = 2 StringUtils.indexOfDifference("abcde", "xyz") = 0
indexOf
指定文字列の出現位置を返す nullの場合-1を返すStringUtils.indexOf(null, *) = -1 StringUtils.indexOf("", *) = -1 StringUtils.indexOf("aabaabaa", 'a') = 0 StringUtils.indexOf("aabaabaa", 'b') = 2
contains
指定文字列を含めばtureを返す nullの場合falseを返すStringUtils.contains(null, *) = false StringUtils.contains("", *) = false StringUtils.contains("abc", 'a') = true StringUtils.contains("abc", 'z') = false
containsIgnoreCase
大文字・小文字を区別せず指定文字列を含めばtrueを返す nullの場合falseを返すStringUtils.contains(null, *) = false StringUtils.contains(*, null) = false StringUtils.contains("", "") = true StringUtils.contains("abc", "") = true StringUtils.contains("abc", "a") = true StringUtils.contains("abc", "z") = false StringUtils.contains("abc", "A") = true StringUtils.contains("abc", "Z") = false
containsWhitespace
空白を含んでいればtrueを返すStringUtils.containsWhitespace(" aa a a") = true StringUtils.containsWhitespace(null) = false StringUtils.containsWhitespace("aaaaa") = false
containsNone
文字列を含んでいなければtrueを返すStringUtils.containsNone(null, *) = true StringUtils.containsNone(*, null) = true StringUtils.containsNone("", *) = true StringUtils.containsNone("ab", "") = true StringUtils.containsNone("abab", "xyz") = true StringUtils.containsNone("ab1", "xyz") = true StringUtils.containsNone("abz", "xyz") = false
substring
nullを考慮して指定位置の文字列を切り出す// 開始位置以降を切り出す StringUtils.substring(null, *) = null StringUtils.substring("", *) = "" StringUtils.substring("abc", 0) = "abc" StringUtils.substring("abc", 2) = "c" StringUtils.substring("abc", 4) = "" StringUtils.substring("abc", -2) = "bc" StringUtils.substring("abc", -4) = "abc" // 開始位置から終了位置までを切り出す StringUtils.substring(null, *, *) = null StringUtils.substring("", * , *) = ""; StringUtils.substring("abc", 0, 2) = "ab" StringUtils.substring("abc", 2, 0) = "" StringUtils.substring("abc", 2, 4) = "c" StringUtils.substring("abc", 4, 6) = "" StringUtils.substring("abc", 2, 2) = "" StringUtils.substring("abc", -2, -1) = "b" StringUtils.substring("abc", -4, 2) = "ab"
left
文字列の先頭から指定文字数を切り出すStringUtils.left(null, *) = null StringUtils.left(*, -ve) = "" StringUtils.left("", *) = "" StringUtils.left("abc", 0) = "" StringUtils.left("abc", 2) = "ab" StringUtils.left("abc", 4) = "abc"
right
文字列の末尾から指定文字数を切り出すStringUtils.right(null, *) = null StringUtils.right(*, -ve) = "" StringUtils.right("", *) = "" StringUtils.right("abc", 0) = "" StringUtils.right("abc", 2) = "bc" StringUtils.right("abc", 4) = "abc"
mid
開始位置から指定文字数を切り出すStringUtils.mid(null, *, *) = null StringUtils.mid(*, *, -ve) = "" StringUtils.mid("", 0, *) = "" StringUtils.mid("abc", 0, 2) = "ab" StringUtils.mid("abc", 0, 4) = "abc" StringUtils.mid("abc", 2, 4) = "c" StringUtils.mid("abc", 4, 2) = "" StringUtils.mid("abc", -2, 2) = "ab"
substringBefore
指定文字が最初に発見された文字より前の文字を切り出すStringUtils.substringBefore(null, *) = null StringUtils.substringBefore("", *) = "" StringUtils.substringBefore("abc", "a") = "" StringUtils.substringBefore("abcba", "b") = "a" StringUtils.substringBefore("abc", "c") = "ab" StringUtils.substringBefore("abc", "d") = "abc" StringUtils.substringBefore("abc", "") = "" StringUtils.substringBefore("abc", null) = "abc"
substringAfter
指定文字が最初に発見された文字より後の文字を切り出すStringUtils.substringAfter(null, *) = null StringUtils.substringAfter("", *) = "" StringUtils.substringAfter(*, null) = "" StringUtils.substringAfter("abc", "a") = "bc" StringUtils.substringAfter("abcba", "b") = "cba" StringUtils.substringAfter("abc", "c") = "" StringUtils.substringAfter("abc", "d") = "" StringUtils.substringAfter("abc", "") = "abc"
substringBeforeLast
指定文字が最後に発見された文字より前の文字を切り出すStringUtils.substringBeforeLast(null, *) = null StringUtils.substringBeforeLast("", *) = "" StringUtils.substringBeforeLast("abcba", "b") = "abc" StringUtils.substringBeforeLast("abc", "c") = "ab" StringUtils.substringBeforeLast("a", "a") = "" StringUtils.substringBeforeLast("a", "z") = "a" StringUtils.substringBeforeLast("a", null) = "a" StringUtils.substringBeforeLast("a", "") = "a"
substringAfterLast
指定文字が最後に発見された文字より後の文字を切り出すStringUtils.substringAfterLast(null, *) = null StringUtils.substringAfterLast("", *) = "" StringUtils.substringAfterLast(*, "") = "" StringUtils.substringAfterLast(*, null) = "" StringUtils.substringAfterLast("abc", "a") = "bc" StringUtils.substringAfterLast("abcba", "b") = "a" StringUtils.substringAfterLast("abc", "c") = "" StringUtils.substringAfterLast("a", "a") = "" StringUtils.substringAfterLast("a", "z") = ""
split
指定文字で文字列を分割する// 空白で切り出す StringUtils.split(null) = null StringUtils.split("") = [] StringUtils.split("abc def") = ["abc", "def"] StringUtils.split("abc def") = ["abc", "def"] StringUtils.split(" abc ") = ["abc" // 指定文字で切り出す StringUtils.split(null, *) = null StringUtils.split("", *) = [] StringUtils.split("a.b.c", '.') = ["a", "b", "c"] StringUtils.split("a..b.c", '.') = ["a", "b", "c"] StringUtils.split("a:b:c", '.') = ["a:b:c"] StringUtils.split("a b c", ' ') = ["a", "b", "c"]
join
文字列を結合する// 単純に結合する StringUtils.join(null) = null StringUtils.join([]) = "" StringUtils.join([null]) = "" StringUtils.join(["a", "b", "c"]) = "abc" StringUtils.join([null, "", "a"]) = "a" // 指定文字を挟んで結合する StringUtils.join(null, *) = null StringUtils.join([], *) = "" StringUtils.join([null], *) = "" StringUtils.join(["a", "b", "c"], ';') = "a;b;c" StringUtils.join(["a", "b", "c"], null) = "abc" StringUtils.join([null, "", "a"], ';') = ";;a"
replaceOnce
検索文字を指定文字で1つだけ置換するStringUtils.replaceOnce(null, *, *) = null StringUtils.replaceOnce("", *, *) = "" StringUtils.replaceOnce("any", null, *) = "any" StringUtils.replaceOnce("any", *, null) = "any" StringUtils.replaceOnce("any", "", *) = "any" StringUtils.replaceOnce("aba", "a", null) = "aba" StringUtils.replaceOnce("aba", "a", "") = "ba" StringUtils.replaceOnce("aba", "a", "z") = "zba"
replace
検索文字を指定文字に全て置換するStringUtils.replace(null, *, *) = null StringUtils.replace("", *, *) = "" StringUtils.replace("any", null, *) = "any" StringUtils.replace("any", *, null) = "any" StringUtils.replace("any", "", *) = "any" StringUtils.replace("aba", "a", null) = "aba" StringUtils.replace("aba", "a", "") = "b" StringUtils.replace("aba", "a", "z") = "zbz"
repeat
指定文字を指定回数分繰り返すStringUtils.repeat(null, 2) = null StringUtils.repeat("", 0) = "" StringUtils.repeat("", 2) = "" StringUtils.repeat("a", 3) = "aaa" StringUtils.repeat("ab", 2) = "abab" StringUtils.repeat("a", -2) = ""
rightPad
文字列の末尾に指定桁数を最大として文字列を追加する// 空白を追加する StringUtils.rightPad(null, *) = null StringUtils.rightPad("", 3) = " " StringUtils.rightPad("bat", 3) = "bat" StringUtils.rightPad("bat", 5) = "bat " StringUtils.rightPad("bat", 1) = "bat" StringUtils.rightPad("bat", -1) = "bat" // 指定文字を追加する StringUtils.rightPad(null, *, *) = null StringUtils.rightPad("", 3, 'z') = "zzz" StringUtils.rightPad("bat", 3, 'z') = "bat" StringUtils.rightPad("bat", 5, 'z') = "batzz" StringUtils.rightPad("bat", 1, 'z') = "bat" StringUtils.rightPad("bat", -1, 'z') = "bat"
leftPad
文字列の先頭に指定桁数を最大として文字列を追加する// 空白を追加する StringUtils.leftPad(null, *) = null StringUtils.leftPad("", 3) = " " StringUtils.leftPad("bat", 3) = "bat" StringUtils.leftPad("bat", 5) = " bat" StringUtils.leftPad("bat", 1) = "bat" StringUtils.leftPad("bat", -1) = "bat" // 指定文字を追加する StringUtils.leftPad(null, *, *) = null StringUtils.leftPad("", 3, 'z') = "zzz" StringUtils.leftPad("bat", 3, 'z') = "bat" StringUtils.leftPad("bat", 5, 'z') = "zzbat" StringUtils.leftPad("bat", 1, 'z') = "bat" StringUtils.leftPad("bat", -1, 'z') = "bat"
length
文字列の長さを取得する nullの場合は0を返すStringUtils.length(null) = 0 StringUtils.length("") = 0 StringUtils.length("abcde") = 5
countMatches
指定文字数をカウントするStringUtils.countMatches(null, *) = 0 StringUtils.countMatches("", *) = 0 StringUtils.countMatches("abba", null) = 0 StringUtils.countMatches("abba", "") = 0 StringUtils.countMatches("abba", "a") = 2 StringUtils.countMatches("abba", "ab") = 1 StringUtils.countMatches("abba", "xxx") =
upperCase
文字列を大文字にする nullの場合nullを返すStringUtils.upperCase(null) = null StringUtils.upperCase("") = "" StringUtils.upperCase("aBc") = "ABC"
lowerCase
文字列を小文字にする nullの場合はnullを返すStringUtils.lowerCase(null) = null StringUtils.lowerCase("") = "" StringUtils.lowerCase("aBc") = "abc"
caplitalize
文字列の先頭を大文字にするStringUtils.capitalize(null) = null StringUtils.capitalize("") = "" StringUtils.capitalize("cat") = "Cat" StringUtils.capitalize("cAt") = "CAt"
uncapitalize
文字列の先頭を小文字にするStringUtils.uncapitalize(null) = null StringUtils.uncapitalize("") = "" StringUtils.uncapitalize("Cat") = "cat" StringUtils.uncapitalize("CAT") = "cAT"
swapCase
大文字、小文字を逆転するStringUtils.swapCase(null) = null StringUtils.swapCase("") = "" StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
defaultString
文字列がnullなら空文字で返す// 空文字を返す StringUtils.defaultString(null) = "" StringUtils.defaultString("") = "" StringUtils.defaultString("bat") = "bat" // 指定文字を返す StringUtils.defaultString(null, "NULL") = "NULL" StringUtils.defaultString("", "NULL") = "" StringUtils.defaultString("bat", "NULL") = "bat"
reverse
文字列を逆に並び替えるStringUtils.reverse(null) = null StringUtils.reverse("") = "" StringUtils.reverse("bat") = "tab"
reverseDelimited
特定の文字で区切られている文字列を逆に並び替えるStringUtils.reverseDelimited(null, *) = null StringUtils.reverseDelimited("", *) = "" StringUtils.reverseDelimited("a.b.c", 'x') = "a.b.c" StringUtils.reverseDelimited("a.b.c", ".") = "c.b.a"
abbreviate
文字列を「...」で省略する// 最大文字数指定で、指定文字数-3移行を省略して「...」で表示する StringUtils.abbreviate(null, *) = null StringUtils.abbreviate("", 4) = "" StringUtils.abbreviate("abcdefg", 6) = "abc..." StringUtils.abbreviate("abcdefg", 7) = "abcdefg" StringUtils.abbreviate("abcdefg", 8) = "abcdefg" StringUtils.abbreviate("abcdefg", 4) = "a..." StringUtils.abbreviate("abcdefg", 3) = IllegalArgumentException // 最大文字数指定で、開始位置から省略して「...」で表示する StringUtils.abbreviate(null, *, *) = null StringUtils.abbreviate("", 0, 4) = "" StringUtils.abbreviate("abcdefghijklmno", -1, 10) = "abcdefg..." StringUtils.abbreviate("abcdefghijklmno", 0, 10) = "abcdefg..." StringUtils.abbreviate("abcdefghijklmno", 1, 10) = "abcdefg..." StringUtils.abbreviate("abcdefghijklmno", 4, 10) = "abcdefg..." StringUtils.abbreviate("abcdefghijklmno", 5, 10) = "...fghi..." StringUtils.abbreviate("abcdefghijklmno", 6, 10) = "...ghij..." StringUtils.abbreviate("abcdefghijklmno", 8, 10) = "...ijklmno" StringUtils.abbreviate("abcdefghijklmno", 10, 10) = "...ijklmno" StringUtils.abbreviate("abcdefghijklmno", 12, 10) = "...ijklmno" StringUtils.abbreviate("abcdefghij", 0, 3) = IllegalArgumentException StringUtils.abbreviate("abcdefghij", 5, 6) = IllegalArgumentException