1. 程式人生 > 實用技巧 >StringUtils工具類

StringUtils工具類

1、 public static boolean isEmpty(String str)

判斷某字串是否為空

StringUtils.isEmpty(null) = true
StringUtils.isEmpty(“”) = true
StringUtils.isEmpty(” “) = false
StringUtils.isEmpty(” “) = false
StringUtils.isEmpty(“bob”) = false
StringUtils.isEmpty(” bob “) 
= false

2、 public static boolean isNotEmpty(String str)
判斷某字串是否非空,等於!isEmpty(String str)

StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty(“”) = false
StringUtils.isNotEmpty(” “) = true
StringUtils.isNotEmpty(” “) = true
StringUtils.isNotEmpty(“bob”) 
= true StringUtils.isNotEmpty(” bob “) = true

3、public static boolean isBlank(String str)
判斷某字串是否為空或長度為0或由空白符(whitespace)構成

StringUtils.isBlank(null) = true
StringUtils.isBlank(“”) = true
StringUtils.isBlank(” “) = true
StringUtils.isBlank(” “) = true
StringUtils.isBlank(“\t \n \f \r”) 
= true StringUtils.isBlank(“\b”) = false StringUtils.isBlank(“bob”) = false StringUtils.isBlank(” bob “) = false

4、 public static boolean isNotBlank(String str)
判斷某字串是否不為空且長度不為0且不由空白符(whitespace)構成,
等於!isBlank(String str)

StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank(“”) = false
StringUtils.isNotBlank(” “) = false
StringUtils.isNotBlank(” “) = false
StringUtils.isNotBlank(“\t \n \f \r”) = false
StringUtils.isNotBlank(“\b”) = true
StringUtils.isNotBlank(“bob”) = true
StringUtils.isNotBlank(” bob “) = true

5、 public static String trim(String str)
去掉字串兩端的控制符
如果輸入為null則返回null

StringUtils.trim(null) = null
StringUtils.trim(“”) = “”
StringUtils.trim(” “) = “”
StringUtils.trim(” \b \t \n \f \r “) = “”
StringUtils.trim(” \n\tss \b”) = “ss”
StringUtils.trim(” d d dd “) = “d d dd”
StringUtils.trim(“dd “) = “dd”
StringUtils.trim(” dd “) = “dd”

6、public static String trimToNull(String str)
去掉字串兩端的控制符
如果變為null或”“,則返回null

StringUtils.trimToNull(null) = null
StringUtils.trimToNull(“”) = null
StringUtils.trimToNull(” “) = null
StringUtils.trimToNull(” \b \t \n \f \r “) = null
StringUtils.trimToNull(” \n\tss \b”) = “ss”
StringUtils.trimToNull(” d d dd “) = “d d dd”
StringUtils.trimToNull(“dd “) = “dd”
StringUtils.trimToNull(” dd “) = “dd”

7、public static String trimToEmpty(String str)
去掉字串兩端的控制符
如果變為null或”“,則返回””

StringUtils.trimToEmpty(null) = “”
StringUtils.trimToEmpty(“”) = “”
StringUtils.trimToEmpty(” “) = “”
StringUtils.trimToEmpty(” \b \t \n \f \r “) = “”
StringUtils.trimToEmpty(” \n\tss \b”) = “ss”
StringUtils.trimToEmpty(” d d dd “) = “d d dd”
StringUtils.trimToEmpty(“dd “) = “dd”
StringUtils.trimToEmpty(” dd “) = “dd”

8、public static String strip(String str)
去掉字串兩端的空白符(whitespace),
如果輸入為null則返回null
(注意和trim()的區別):

StringUtils.strip(null) = null
StringUtils.strip(“”) = “”
StringUtils.strip(” “) = “”
StringUtils.strip(” \b \t \n \f \r “) = “\b”
StringUtils.strip(” \n\tss \b”) = “ss \b”
StringUtils.strip(” d d dd “) = “d d dd”
StringUtils.strip(“dd “) = “dd”
StringUtils.strip(” dd “) = “dd”

9、public static String stripToNull(String str)
去掉字串兩端的空白符(whitespace),
如果變為null或”“,則返回null
(注意和trimToNull()的區別):

StringUtils.stripToNull(null) = null
StringUtils.stripToNull(“”) = null
StringUtils.stripToNull(” “) = null
StringUtils.stripToNull(” \b \t \n \f \r “) = “\b”
StringUtils.stripToNull(” \n\tss \b”) = “ss \b”
StringUtils.stripToNull(” d d dd “) = “d d dd”
StringUtils.stripToNull(“dd “) = “dd”
StringUtils.stripToNull(” dd “) = “dd”

10、public static String stripToEmpty(String str)
去掉字串兩端的空白符(whitespace),
如果變為null或”“,則返回””
(注意和trimToEmpty()的區別):

StringUtils.stripToNull(null) = “”
StringUtils.stripToNull(“”) = “”
StringUtils.stripToNull(” “) = “”
StringUtils.stripToNull(” \b \t \n \f \r “) = “\b”
StringUtils.stripToNull(” \n\tss \b”) = “ss \b”
StringUtils.stripToNull(” d d dd “) = “d d dd”
StringUtils.stripToNull(“dd “) = “dd”
StringUtils.stripToNull(” dd “) = “dd”

11、public static String strip(String str, String stripChars)
去掉str兩端的在stripChars中的字元。
如果str為null或等於”“,則返回它本身;
如果stripChars為null或”“,則返回strip(String str)

StringUtils.strip("000000134_76539000","0")="134_76539"

12、stripStart (String str,String stripChars) 去除str 前端在stripChars中的字元

13、stripEnd (String str,String stripChars) 去除str 後端在stripChars中的字元

14、public static String[] stripAll(String[] strs)
對字串陣列中的每個字串進行strip(String str),然後返回。
如果strs為null或strs長度為0,則返回strs本身
15、public static String[] stripAll(String[] strs, String stripChars)
對字串陣列中的每個字串進行strip(String str, String stripChars),然後返回。
如果strs為null或strs長度為0,則返回strs本身
16、public static boolean equals(String str1, String str2)
比較兩個字串是否相等,如果兩個均為空則也認為相等。
17、public static boolean equalsIgnoreCase(String str1, String str2)
比較兩個字串是否相等,不區分大小寫,如果兩個均為空則也認為相等。
18、public static int indexOf(String str, char searchChar)
返回字元searchChar在字串str中第一次出現的位置。
如果searchChar沒有在str中出現則返回-1,
如果str為null或”“,則也返回-1

19、public static int indexOf(String str, char searchChar, int startPos)
返回字元searchChar從startPos開始在字串str中第一次出現的位置。
如果從startPos開始searchChar沒有在str中出現則返回-1,
如果str為null或”“,則也返回-1
20、public static int indexOf(String str, String searchStr)
返回字串searchStr在字串str中第一次出現的位置。
如果str為null或searchStr為null則返回-1,
如果searchStr為”“,且str為不為null,則返回0,
如果searchStr不在str中,則返回-1

21、public static int ordinalIndexOf(String str, String searchStr, int ordinal)
返回字串searchStr在字串str中第ordinal次出現的位置。
如果str=null或searchStr=null或ordinal<=0則返回-1
舉例(*代表任意字串):

StringUtils.ordinalIndexOf(null, , ) = -1
StringUtils.ordinalIndexOf(, null, ) = -1
StringUtils.ordinalIndexOf(“”, “”, *) = 0
StringUtils.ordinalIndexOf(“aabaabaa”, “a”, 1) = 0
StringUtils.ordinalIndexOf(“aabaabaa”, “a”, 2) = 1
StringUtils.ordinalIndexOf(“aabaabaa”, “b”, 1) = 2
StringUtils.ordinalIndexOf(“aabaabaa”, “b”, 2) = 5
StringUtils.ordinalIndexOf(“aabaabaa”, “ab”, 1) = 1
StringUtils.ordinalIndexOf(“aabaabaa”, “ab”, 2) = 4
StringUtils.ordinalIndexOf(“aabaabaa”, “bc”, 1) = -1
StringUtils.ordinalIndexOf(“aabaabaa”, “”, 1) = 0
StringUtils.ordinalIndexOf(“aabaabaa”, “”, 2) = 0

22、public static int indexOf(String str, String searchStr, int startPos)
返回字串searchStr從startPos開始在字串str中第一次出現的位置。
舉例(*代表任意字串):

StringUtils.indexOf(null, , ) = -1
StringUtils.indexOf(, null, ) = -1
StringUtils.indexOf(“”, “”, 0) = 0
StringUtils.indexOf(“aabaabaa”, “a”, 0) = 0
StringUtils.indexOf(“aabaabaa”, “b”, 0) = 2
StringUtils.indexOf(“aabaabaa”, “ab”, 0) = 1
StringUtils.indexOf(“aabaabaa”, “b”, 3) = 5
StringUtils.indexOf(“aabaabaa”, “b”, 9) = -1
StringUtils.indexOf(“aabaabaa”, “b”, -1) = 2
StringUtils.indexOf(“aabaabaa”, “”, 2) = 2
StringUtils.indexOf(“abc”, “”, 9) = 3

23、public static int lastIndexOf(String str, char searchChar)
基本原理同18。
24、public static int lastIndexOf(String str, char searchChar, int startPos)
基本原理同19。
25、public static int lastIndexOf(String str, String searchStr)
基本原理同20。
26、public static int lastIndexOf(String str, String searchStr, int startPos)
基本原理同22。

27、public static boolean contains(String str, char searchChar)
判斷字串str中是否包含字元searchChar。
如果str為null或”“,返回false;
如果searchChar不在str中,返回false。

28、public static boolean contains(String str, String searchStr)
判斷字串str是否包含字串searchStr。
如果str為null或searchStr為null,返回false;
如果str為”“,並且searchStr為”“,返回true

StringUtils.contains(“”, “”) = true
StringUtils.contains(“dfg”, “”) = true
StringUtils.contains(“dfg”, “d”) = true
StringUtils.contains(“dfg”, “gz”) = false

29、public static boolean containsIgnoreCase(String str, String searchStr)
判斷字串str是否包含字串searchStr,不區分大小寫。
和28類似。

30、public static int indexOfAny(String str, char[] searchChars)
找出字元陣列searchChars中的字元第一次出現在字串str中的位置。
如果字元陣列中的字元都不在字串中,則返回-1
如果字串為null或”“,則返回-1
舉例(*表示任意):

StringUtils.indexOfAny(null, *) = -1
StringUtils.indexOfAny(“”, *) = -1
StringUtils.indexOfAny(*, []) = -1
StringUtils.indexOfAny(“asdf”, [‘a’,’f’,’ ‘]) = 0
StringUtils.indexOfAny(“bs df”, [‘a’,’f’,’ ‘]) = 2
StringUtils.indexOfAny(“bsdf”, [‘a’,’f’,’ ‘]) = 3
StringUtils.indexOfAny(“bbeegg”, [‘a’,’f’,’ ‘]) = -1

31、public static int indexOfAny(String str, String searchChars)
找出字串searchChars中的字元第一次出現在字串str中的位置。
如果字串searchChars中的字元都不在字串str中,則返回-1
如果searchChars或str為null或為”“,則返回-1
舉例(*表示任意):

StringUtils.indexOfAny(null, *) = -1
StringUtils.indexOfAny(“”, *) = -1
StringUtils.indexOfAny(*, null) = -1
StringUtils.indexOfAny(*, “”) = -1
StringUtils.indexOfAny(“asdf”, “af “) = 0
StringUtils.indexOfAny(“bs df”, “af “) = 2
StringUtils.indexOfAny(“bsdf”, “af “) = 3
StringUtils.indexOfAny(“bbeegg”, “af “) = -1

32、public static boolean containsOnly(String str, char[] valid)
判斷是否字串str僅包含字元陣列valid中的字元,即字串中的字元是否都在字元陣列中。
如果str為null,則返回false;如果str為”“,則返回true
舉例(*表示任意):

StringUtils.containsOnly(null, *)) = false
StringUtils.containsOnly(“”, *)) = true
StringUtils.containsOnly(“afaf”, [‘a’,’f’,’ ‘]))= true
StringUtils.containsOnly(“af a”, [‘a’,’f’,’ ‘]))= true
StringUtils.containsOnly(“a”, [‘a’,’f’,’ ‘])) = true
StringUtils.containsOnly(“afg”, [‘a’,’f’,’ ‘])) = false
StringUtils.containsOnly(“bbeegg”, [])) = false

33、public static boolean containsOnly(String str, String validChars)
判斷是否字串str僅包含字串validChars中的字元,
即字串str中的字元是否都在字串validChars中。
和32類似,舉例(*表示任意):

StringUtils.containsOnly(null, *) = false
StringUtils.containsOnly(*, null) = false
StringUtils.containsOnly(“”, “”) = true
StringUtils.containsOnly(“”, “a”) = true
StringUtils.containsOnly(“afaf”, “af “) = true
StringUtils.containsOnly(“af a”, “af “) = true
StringUtils.containsOnly(“afg”, “af “) = false
StringUtils.containsOnly(“afg”, “”) = false

34、public static String substring(String str, int start)
得到字串str的子串。
如果start小於0,位置是從後往前數的第|start|個
如果str為null或”“,則返回它本身
舉例(*表示任意):

StringUtils.substring(null, *) = null
StringUtils.substring(“”, *) = “”
StringUtils.substring(“asdf”, 0)) = “asdf”
StringUtils.substring(“asdf”, 1)) = “sdf”
StringUtils.substring(“asdf”, 3)) = “f”
StringUtils.substring(“asdf”,) = “”
StringUtils.substring(“asdf”, -1)) = “f”
StringUtils.substring(“asdf”, -3)) = “sdf”
StringUtils.substring(“asdf”, -8)) = “asdf”

35、public static String substring(String str, int start, int end)
得到字串str的子串。
如果start小於0,位置是從後往前數的第|start|個,
如果end小於0,位置是從後往前數的第|end|個,
如果str為null或”“,則返回它本身
舉例(*表示任意):

StringUtils.substring(null, , ) = null
StringUtils.substring(“”, * , *) = “”;
StringUtils.substring(“asdf”, 0, 2) = “as”
StringUtils.substring(“asdf”, 0, -1) = “asd”
StringUtils.substring(“asdf”, 2, -1) = “d”
StringUtils.substring(“asdf”, 2, -2) = “”
StringUtils.substring(“asdf”, 3, 2) = “”
StringUtils.substring(“asdf”, 1, = “sdf”
StringUtils.substring(“asdf”, -1, -3) = “”
StringUtils.substring(“asdf”, -3, -1) = “sd”
StringUtils.substring(“asdf”, -8, 5) = “asdf”

36、public static String left(String str, int len)
得到字串str從左邊數len長度的子串。
如果str為null或為”“,則返回它本身
如果len小於0,則返回””
舉例(*表示任意):

StringUtils.left(null, *) = null
StringUtils.left(*, -ve) = “”
StringUtils.left(“”, *) = “”
StringUtils.left(“asdf”, 0) = “”
StringUtils.left(“asdf”, 2) = “as”
StringUtils.left(“asdf”, = “asdf”

37、public static String right(String str, int len)
得到字串str從右邊數len長度的子串。
如果str為null或為”“,則返回它本身
如果len小於0,則返回””
舉例(*表示任意):

StringUtils.right(null, *) = null
StringUtils.right(*, -ve) = “”
StringUtils.right(“”, *) = “”
StringUtils.right(“asdf”, 0) = “”
StringUtils.right(“asdf”, 2) = “df”
StringUtils.right(“asdf”, = “asdf”

38、public static String mid(String str, int pos, int len)
得到字串str從pos開始len長度的子串。
如果str為null或為”“,則返回它本身
如果len小於0或pos大於srt的長度,則返回””
如果pos小於0,則pos設為0
舉例(*表示任意):

StringUtils.mid(null, , ) = null
StringUtils.mid(“”, , ) = “”
StringUtils.mid(, , -ve) = “”
StringUtils.mid(“asdf”, 0, 4)) = “asdf”
StringUtils.mid(“asdf”, 2, 2)) = “df”
StringUtils.mid(“asdf”, 2, 5)) = “df”
StringUtils.mid(“asdf”, -2, 1)) = “a”
StringUtils.mid(“asdf”, 0, -1)) = “”

39、public static String substringBefore(String str, String separator)
得到字串str的在字串separator出現前的字串,且separator不包括在內。
如果str為null或為”“,則返回它本身
如果separator為null,則返回str本身
舉例(*表示任意):

StringUtils.substringBefore(null, *) = null
StringUtils.substringBefore(“”, *) = “”
StringUtils.substringBefore(“asdfg”, null)) = “asdfg”
StringUtils.substringBefore(“asdfg”, “a”)) = “”
StringUtils.substringBefore(“asdfg”, “sd”)) = “a”
StringUtils.substringBefore(“asdfsag”, “sa”)) = “asdf”
StringUtils.substringBefore(“asdfg”, “h”)) = “asdfg”
StringUtils.substringBefore(“asdfg”, “”)) = “”
StringUtils.substringBefore(“asdfg”, “dfgh”)) = “asdfg”
StringUtils.substringBefore(“asdfg”, “dfg”)) = “as”
StringUtils.substringBefore(“abbbabbba”, “bb”)) = “a”

40、public static String substringAfter(String str, String separator)
得到字串str的在字串separator出現後的字串,且separator不包括在內。
如果str為null或為”“,則返回它本身
如果separator為null,則返回””
舉例(*表示任意):

StringUtils.substringAfter(null, *) = null
StringUtils.substringAfter(“”, *) = “”
StringUtils.substringAfter(*, null) = “”
StringUtils.substringAfter(“asdfg”, “a”)) = “sdfg”
StringUtils.substringAfter(“asdfg”, “sd”)) = “fg”
StringUtils.substringAfter(“asdfsag”, “sa”)) = “g”
StringUtils.substringAfter(“asdfg”, “h”)) = “”
StringUtils.substringAfter(“asdfg”, “”)) = “asdfg”
StringUtils.substringAfter(“asdfg”, “dfgh”)) = “”
StringUtils.substringAfter(“asdfg”, “dfg”)) = “”
StringUtils.substringAfter(“abbbabbba”, “bb”))= “babbba”

41、public static String substringBeforeLast(String str, String separator)
和45類似,得到字串str的在字串separator最後一次出現前的字串。
這裡不再舉例。
42、public static String substringAfterLast(String str, String separator)
和46類似,得到字串str的在字串separator最後一次出現後的字串。
這裡不再舉例。
43、public static String substringBetween(String str, String tag)
得到str中的在兩個字串tag中間的字串,即str中的tag所夾的串。
如果str為null或tag為null,返回null
舉例(*表示任意):

StringUtils.substringBetween(null, *) = null
StringUtils.substringBetween(*, null) = null
StringUtils.substringBetween(“”, “”) = “”
StringUtils.substringBetween(“”, “a”)) = null
StringUtils.substringBetween(“asdfdf”, “df”)) = “”
StringUtils.substringBetween(“asdfas”, “as”)) = “df”
StringUtils.substringBetween(“dfasdfasdfas”, “df”)) = “as”
StringUtils.substringBetween(“dfasdfasdfas”, “as”)) = “df”
StringUtils.substringBetween(“dfasdfasgdf”, “df”)) = “as”

44、public static String substringBetween(String str, String open, String close)
得到str中的在兩個字串open和close中間的字串,即open和close所夾的串。
如果str為null或open為null或close為null,返回null
舉例(*表示任意):

StringUtils.substringBetween(null, , ) = null
StringUtils.substringBetween(, null, ) = null
StringUtils.substringBetween(, , null) = null
StringUtils.substringBetween(“”, “”, “”) = “”
StringUtils.substringBetween(“”, “”, “]”) = null
StringUtils.substringBetween(“”, “[“, “]”) = null
StringUtils.substringBetween(“[]”, “[“,”]”)) = “”
StringUtils.substringBetween(“a[sd]f”, “[“,”]”)) = “sd”
StringUtils.substringBetween(“a[sd]f[gh]”, “[“,”]”)) = “sd”
StringUtils.substringBetween(“a[sd]f”, “]”,”[“)) = null
StringUtils.substringBetween(“a[sd]f”, “”,”“)) = “”

45、public static String[] substringsBetween(String str, String open, String close)
得到str中的在兩個字串open和close中間的字串,即open和close所夾的串,
把所有符合的結果放在陣列中返回。
和44類似,但是返回了所有的結果(44只返回了第一個匹配的結果)。
這裡不再舉例。
46、public static String[] split(String str)
把字串拆分成一個字串陣列,用空白符(whitespace)作為分隔符。
如果字串為null,返回null
如果字串為”“,返回空陣列{}
舉例(*表示任意):

StringUtils.split(null) = null
StringUtils.split(“”) = {}
StringUtils.split(“as df yy”)) = {“as”,”df”,”yy”}
StringUtils.split(” as df yy “)) = {“as”,”df”,”yy”}
StringUtils.split(“as\ndf\ryy”)) = {“as”,”df”,”yy”}
StringUtils.split(“as\tdf\fyy”)) = {“as”,”df”,”yy”}
StringUtils.split(“as df \fyy”)) = {“as”,”df”,”yy”}
StringUtils.split(“as\t \r df \f \n yy”)) = {“as”,”df”,”yy”}
StringUtils.split(“as”)) = {“as”}
StringUtils.split(” as “)) = {“as”}

47、public static String[] split(String str, char separatorChar)
把字串拆分成一個字串陣列,用指定的字元separatorChar作為分隔符。
如果字串為null,返回null
如果字串為”“,返回空陣列{}
舉例(*表示任意):

StringUtils.split(null, *) = null
StringUtils.split(“”, *) = {}
StringUtils.split(“as df yy”,’ ‘)) = {“as”,”df”,”yy”}
StringUtils.split(” as df yy “,’ ‘)) = {“as”,”df”,”yy”}
StringUtils.split(“asodfoyy”,’o’)) = {“as”,”df”,”yy”}
StringUtils.split(“as.df.yy”,’.’)) = {“as”,”df”,”yy”}
StringUtils.split(“as\ndf\nyy”,’\n’))= {“as”,”df”,”yy”}
StringUtils.split(“as”,’ ‘)) = {“as”}
StringUtils.split(” as “,’ ‘)) = {“as”}

48、public static String[] split(String str, String separatorChars)
把字串拆分成一個字串陣列,用指定的字串separatorChars作為分隔符。
如果字串str為null,返回null
如果字串str為”“,返回空陣列{}
如果separatorChars為null,則預設為空白符
和47類似。
舉例(*表示任意):

StringUtils.split(“as \rdf \t yy”,null)) = {“as”,”df”,”yy”}
StringUtils.split(“as\ndf\fyy”,null)) = {“as”,”df”,”yy”}
StringUtils.split(“as”,”“)) = {“as”}

49、public static String[] split(String str, String separatorChars, int max)
把字串拆分成一個字串陣列,用指定的字串separatorChars作為分隔符,
陣列的最大長度為max。
如果字串str為null,返回null
如果字串str為”“,返回空陣列{}
如果separatorChars為null,則預設為空白符
如果max小於等於0,認為是沒有限制
舉例(*表示任意):

StringUtils.split(null, , ) = null
StringUtils.split(“”, , ) = {}
StringUtils.split(“as df yy”,null,0)) = {“as”,”df”,”yy”}
StringUtils.split(“as df yy”,” “,0)) = {“as”,”df”,”yy”}
StringUtils.split(“as.df.yy”,”.”,-1)) = {“as”,”df”,”yy”}
StringUtils.split(“as.df.yy”,”.”,4)) = {“as”,”df”,”yy”}
StringUtils.split(“as-!-df-!-yy”,”-!-“,0)) = {“as”,”df”,”yy”}
StringUtils.split(“as.df.yy”,”.”,2)) = {“as”,”df.yy”}
StringUtils.split(“as”,”“,0)) = {“as”}
StringUtils.split(“as”,”“,2)) = {“as”}

50、public static String join(Object[] array)
把陣列中的元素連線成一個字串返回。
舉例(*表示任意):

StringUtils.join(null) = null
StringUtils.join({}) = “”
StringUtils.join({“as”,”df”,”gh”,”jk”})) = “asdfghjk”
StringUtils.join({“as”,”“,”df”,”gh”})) = “asdfgh”
StringUtils.join({“”,”as”,”“,”“,”df”,”“,”“})) = “asdf”

51、public static String join(Object[] array, char separator)
把陣列中的元素連線成一個字串返回,把分隔符separator也加上。
舉例(*表示任意):

StringUtils.join(null, *) = null
StringUtils.join({}, *) = “”
StringUtils.join({null}, *) = “”
StringUtils.join({“as”,”df”,”gh”,”jk”},’ ‘)) = “as df gh jk”
StringUtils.join({“as”,”df”,”gh”,”jk”},’.’)) = “as.df.gh.jk”
StringUtils.join({“as”,”“,”df”,”gh”},’.’)) = “as..df.gh”
StringUtils.join({“”,”as”,”“,”“,”df”,”“,”“},’,’))= “,as,,,df,,”
StringUtils.join({“”,”as”,”“,”“,”df”,”“,”“},’ ‘))= ” as df ”
StringUtils.join({“as.df.gh”},’.’)) = “as.df.gh”
StringUtils.join({“as.df.gh”},’ ‘)) = “as.df.gh”

52、public static String join(Object[] array, char separator, int startIndex, int endIndex)
把陣列中的元素連線成一個字串返回,把分隔符separator也加上。
連線的開始位置為startIndex,結束位置為endIndex。
這裡不再舉例。

53、public static String join(Object[] array, String separator)
與51類似,這裡不再舉例。
54、public static String join(Object[] array, String separator, int startIndex, int endIndex)
與52類似,這裡不再舉例。

55、public static String deleteWhitespace(String str)
刪除字串中的所有空白符(whitespace),空白符是這樣定義的{@link Character#isWhitespace(char)}。
舉例(*表示任意):

StringUtils.deleteWhitespace(null) = null
StringUtils.deleteWhitespace(“”) = “”
StringUtils.deleteWhitespace(“asd”)) = “asd”,
StringUtils.deleteWhitespace(“as df”)) = “asdf”
StringUtils.deleteWhitespace(“as\n\r\f\tdf”)) = “asdf”
StringUtils.deleteWhitespace(“as\bdf”)) = “as\bdf”
StringUtils.deleteWhitespace(” as df “)) = “asdf”

56、public static String replaceOnce(String text, String repl, String with)
在字串text中用with代替repl,僅一次。
這裡不再舉例。
57、public static String replace(String text, String repl, String with)
在字串text中用with代替repl,替換所有。
這裡不再舉例。
58、public static String replace(String text, String repl, String with, int max)
在字串text中用with代替repl,max為最大替換次數。
如果max小於0,則替換所有。
這裡不再舉例。
59、public static String replaceChars(String str, char searchChar, char replaceChar)
在字串str中用字元replaceChar代替所有字元searchChar,
如果字串為null或”“,則返回它本身。
這裡不再舉例。
60、public static String replaceChars(String str, String searchChars, String replaceChars)
用replaceChars代替str中的searchChars。
replaceChars的長度應該和searchChars的長度相等,
如果replaceChars的長度大於searchChars的長度,超過長度的字元將被忽略,
如果replaceChars的長度小於searchChars的長度,超過長度的字元將被刪除。
舉例(*表示任意):

StringUtils.replaceChars(null, , ) = null
StringUtils.replaceChars(“”, , ) = “”
StringUtils.replaceChars(“asdf”, null, *) = “asdf”
StringUtils.replaceChars(“asdf”, “”, *) = “asdf”
StringUtils.replaceChars(“asdf”,”s”,null)) = “adf”
StringUtils.replaceChars(“asdf”,”s”,”“)) = “adf”
StringUtils.replaceChars(“asdsfsg”,”s”,”y”)) = “aydyfyg”
StringUtils.replaceChars(“asdf”,”sd”,”yy”)) = “ayyf”
StringUtils.replaceChars(“asdf”,”sd”,”yyy”)) = “ayyf”
StringUtils.replaceChars(“asssdf”,”s”,”yyy”)) = “ayyydf”
StringUtils.replaceChars(“asdf”,”sd”,”y”)) = “ayf”
StringUtils.replaceChars(“assssddddf”,”sd”,”y”))= “ayyyyf”

61、public static String overlay(String str, String overlay, int start, int end)
用字串overlay覆蓋字串str從start到end之間的串。
如果str為null,則返回null
如果start或end小於0,則設為0
如果start大於end,則兩者交換
如果start或end大於str的長度,則認為等於str的長度
舉例(*表示任意):

StringUtils.overlay(null, , , *) = null
StringUtils.overlay(“”,”as”,0,0)) = “as”
StringUtils.overlay(“asdfgh”,”qq”,2,5)) = “asqqh”
StringUtils.overlay(“asdfgh”,”qq”,5,2)) = “asqqh”
StringUtils.overlay(“asdfgh”,”qq”,-1,3)) = “qqfgh”
StringUtils.overlay(“asdfgh”,”qq”,-1,-3)) = “qqasdfgh”
StringUtils.overlay(“asdfgh”,”qq”,7,10)) = “asdfghqq”
StringUtils.overlay(“asdfgh”,”qq”,0,8)) = “qq”
StringUtils.overlay(“asdfgh”,”qq”,2,8)) = “asqq”
StringUtils.overlay(“asdfgh”,null,2,5)) = “ash”
StringUtils.overlay(“asdfgh”,”“,2,5)) = “ash”

62、public static String repeat(String str, int repeat)
重複字串repeat次,組合成一個新串返回。
如果字串str為null或”“,則返回它本身
如果repeat小於0,則返回””
舉例(*表示任意):

StringUtils.repeat(null, *) = null
StringUtils.repeat(“”, *) = “”
StringUtils.repeat(“a”, 3) = “aaa”
StringUtils.repeat(“ab”, 2) = “abab”
StringUtils.repeat(“a”, -2) = “”

63、public static int countMatches(String str, String sub)
計算字串sub在字串str中出現的次數。
如果str為null或”“,則返回0
舉例(*表示任意):

StringUtils.countMatches(null, *) = 0
StringUtils.countMatches(“”, *) = 0
StringUtils.countMatches(“asdf”,”as”)) = 1
StringUtils.countMatches(“asdfas”,”as”)) = 2
StringUtils.countMatches(“dfgh”,”as”)) = 0
StringUtils.countMatches(“as”,”“)) = 0
StringUtils.countMatches(“as”,null)) = 0

參考文章:

https://www.cnblogs.com/liangjiejava/p/9850067.html