说说Java中对String的处理。
总结一下java.lang.String、org.apache.commons.lang3.StringUtils、org.springframework.util.StringUtils几个类提供的各种方法。
■java.lang.String
No | 方法 | 参数 | 返回值类型 | 说明 | 使用例 |
---|---|---|---|---|---|
1 | charAt | int index | char | 获取对应index的char字符 | String str = "a1B"; char chr = str.charAt(0); |
2 | codePointAt | int index | int | 获取对应index的char字符的ASKII码 | String str = "a1B"; int ask = str.codePointAt(0); |
3 | codePointBefore | int index | int | 获取对应index的前面一个char字符的ASKII码 | String str = "a1B"; int ask = str.codePointBefore(3); |
4 | codePointCount | int beginIndex, int endIndex | int | 计算从beginIndex到endIndex的码点数 | String str = "a1B"; int askCount = str.codePointCount(0, 1); |
5 | compareTo | String anotherString | int | 比较两个字符串的字典顺序。用字符串1跟字符串2作比较,如果字符串1的字典顺序在字符串2前面,则返回一个负数。若在后面,则返回一个正数。若两个字符串的字典顺序相同,则返回0。如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值。果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度。这里的字典顺序指的是ASCII码表中的字符顺序。 | String str1 = "abc"; String str2 = "1"; int result = str1.compareTo(str2); |
6 | compareToIgnoreCase | String str | int | compareToIgnoreCase()方法是不区分大小写,返回值是int,比较方式与compareTo()相同 | String str1 = "a1B"; String str2 = "A2"; int result = str1.compareToIgnoreCase(str2); |
7 | concat | String str | String | 连接2个字符串 | String str = "ab"; str.concat("cd"); |
8 | contains | CharSequence 是个接口。String,StringBuilder,StringBuffer实现了这个接口 | boolean | 判断字符串是否是其子字符串 | String str = "ab"; boolean bln = str.contains("a"); |
9 | contentEquals | CharSequence 是个接口。 | boolean | 判断两个字符串是否相同 | String str = "ab"; StringBuilder sb = new StringBuilder("c"); boolean bln = str.contentEquals(sb); |
10 | copyValueOf | char data[] 或者 char data[], int offset, int count | String | 将字符数组转换为字符串 | char[] c=new char[]{'a','b','c','e'}; String str = String.copyValueOf(c); |
11 | endsWith | String suffix | boolean | 判断字符串结尾是否和比较字串相同 | String str = "ab"; boolean bln = str.endsWith("b"); |
12 | equals | Object anObject | boolean | 判断字符串和比较Object是否相同 | String str = "ab"; boolean bln = str.equals("c"); |
13 | equalsIgnoreCase | String anotherString | boolean | 判断2个字符串是否相同,不区分大小写 | String str = "ab"; boolean bln = str.equalsIgnoreCase("Ab"); |
14 | format | String format, Object... Args 或者 Locale l, String format, Object... Args | String | 格式化字符串 转换符 说明 示例 %s 字符串类型 "mingrisoft" %c 字符类型 'm' %b 布尔类型 true %d 整数类型(十进制) 99 %x 整数类型(十六进制) FF %o 整数类型(八进制) 77 %f 浮点类型 99.99 %a 十六进制浮点类型 FF.35AE %e 指数类型 9.38e+5 %g 通用浮点类型(f和e类型中较短的) %h 散列码 %% 百分比类型 % %n 换行符 %tx 日期与时间类型(x代表不同的日期与时间转换符 | ■String str=null; str=String.format("Hi,%s:%s.%s", "王南","王力","王张"); ■String.format("%b, %b, %b, %b, %b, %b", "true",true, false, null, 0>1, 1, ""); ■String.format("%o", 31); ■String.format("%x", 31); ■String.format("%e", 12345.6987); ■String.format("%a", 12345.6987); ■String.format("%c, %c, %c, %c", 'a', 'b', 48, 98); ■Calendar c = Calendar.getInstance(); String data_str = String.format("today is: %1$tY/%1$tm/%1$te, now time is %1$tH:%1$tM:%1$tS", c); |
15 | getBytes | 无参、 Charset charset、String charsetName | byte[] | 获取字符串的byte数组。 | String str1 = "a1B"; byte[] aryByte = str.getBytes(); |
16 | getChars | int srcBegin, int srcEnd, char dst[], int dstBegin | void | 将字符从字符串复制到目标字符数组。 srcBegin -- 字符串中要复制的第一个字符的索引。 srcEnd -- 字符串中要复制的最后一个字符之后的索引。 dst -- 目标数组。 dstBegin -- 目标数组中的起始偏移量。 | String Str1 = new String("www.runoob.com"); char[] Str2 = new char[6]; Str1.getChars(4, 10, Str2, 0); |
17 | getClass | 无参 | Class<?> | 获取String的类类型 | String str = "ab"; Class<?> cls = str.getClass(); |
18 | hashCode | 无参 | int | 获取hash值 | String str = "ab"; int iHashCd = str.hashCode(); |
19 | indexOf | String str、String str, int fromIndex、char[] source, int sourceOffset, int sourceCount,String target, int fromIndex 等 | int | 获取子字符串在字符串中间的位置 | String str = "ab"; str.indexOf("a"); |
20 | intern | 无参 | String | 用来返回常量池中的某字符串,如果常量池中已经存在该字符串,则直接返回常量池中该对象的引用。否则,在常量池中加入该对象,然后 返回引用。 | String str = "ab"; String s = str.intern(); |
21 | isEmpty | 无参 | boolean | 判断字符串是否为空。注意这里判断的是否为空字符串,如果为null会抛出异常。 | String str = ""; boolean bln = str.isEmpty(); |
22 | join | CharSequence delimiter, CharSequence... Elements 、 CharSequence delimiter,Iterable<? extends CharSequence> elements | String | 分隔连接字符串 | List<String> lst = new ArrayList<String>(); lst.add("aa"); lst.add("bb"); lst.add("cc"); String str = String.join("-", lst); |
23 | lastIndexOf | String str、String str, int fromIndex、char[] source, int sourceOffset, int sourceCount,String target, int fromIndex、char[] source, int sourceOffset, int sourceCount,char[] target, int targetOffset, int targetCount,int fromIndex、int ch、int ch, int fromIndex | int | 返回字符中子字符串最后出现的位置 | String str = "aba"; int index = str.lastIndexOf("a"); |
24 | length | 无参 | int | 返回字符串长度 | String str = "aba"; int len = str.length(); |
25 | matches | String regex | boolean | 在字符串匹配给定的正则表达式时,返回 true。 regex -- 匹配字符串的正则表达式。 | String str = "aba"; boolean bln = str.matches("//w+"); |
26 | notify | ||||
27 | notifyAll | ||||
28 | offsetByCodePoints | int index , int codePointOffset | int | 返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。 如果没有辅助字符的话,这个方法很没有意思 | String str="hello"; int n=str.offsetByCodePoints(0,3); |
29 | regionMatches | int firstStart, String other, int otherStart, int len 、boolean ignoreCase, int toffset,String other, int ooffset, int len | boolean | 当某个字符串调用该方法时,表示从当前字符串的firstStart位置开始,取一个长度为len的子串;然后从另一个字符串other的otherStart位置开始也取一个长度为len的子串,然后比较这两个子串是否相同,如果这两个子串相同则返回true,否则返回false。 | String str="hello"; boolean bln = str.regionMatches(1, "da", 0, 2); |
30 | replace | CharSequence target, CharSequence replacement 、char oldChar, char newChar | String | 置换字符串中的子串 | String str = "aba"; String strResult = str.replace("a", "c"); |
31 | replaceAll | String regex, String replacement | String | 置换字符串中的子串。与replace区别在于这里参数是以正则形式替换的,也就是说正则里特殊字符表示如"\\",正则中代表"\"。而replace是按普通字符串计算的代表"\\"。 | String str = "a\\bc"; String s = str.replaceAll("\\\\", "x"); |
32 | replaceFirst | String regex, String replacement | String | 置换字符中第一个出现子串为新的子串与replace区别在于这里参数是以正则形式替换的,也就是说正则里特殊字符表示如"\\",正则中代表"\"。而replace是按普通字符串计算的代表"\\"。 | String str = "ab\\a"; String strResult = str.replaceFirst("a", "c"); |
33 | split | String regex 、 String regex, int limit | String[] | 分割字符串为数组 | String str = "a-b-c"; String[] aryStr = str.split("-"); |
34 | startsWith | String prefix 、 String prefix, int toffset | boolean | 判断字符串开始字符是否与比较字符一致 | String str = "a-b-c"; boolean bln = str.startsWith("a-"); |
35 | subSequence | int beginIndex, int endIndex | CharSequence | 返回一个新的字符序列,它是此序列的一个子序列。 beginIndex -- 起始索引(包括)。 endIndex -- 结束索引(不包括)。 | String str = new String("www.runoob.com"); String strResult = str.subSequence(4, 10); |
36 | substring | int beginIndex 、 int beginIndex, int endIndex | String | 截取字符串 | String str = "a-b-c"; String strResult = str.substring(0, 1); |
37 | toCharArray | 无参 | char[] | 将字符串转换为char数组 | String str = "a-b-c"; char[] aryChar = str.toCharArray(); |
38 | toLowerCase | 无参 、 Locale locale | String | 将字符串转换为小写 | String str = "aBc"; String strResult = str.toLowerCase(); |
39 | toString | 无参 | String | 将字符串转换为字符串 | String str = "aBc"; String strResult = str.toString(); |
40 | toUpperCase | 无参 、 Locale locale | String | 将字符串转换为大写 | String str = "aBc"; String strResult = str.toUpperCase(); |
41 | trim | 无参 | String | 去除字符串两端空格 | String str = " a Bc "; String strResult = str.trim(); |
42 | valueOf | Object obj 等 | String | 转换为字符串 | boolean bln = true; String str = String.valueOf(bln); |
43 | wait |
■org.apache.commons.lang3.StringUtils
No | 方法 | 参数 | 返回值类型 | 说明 | 使用例 |
---|---|---|---|---|---|
1 | abbreviate | String str, int maxWidth | String | 返回maxWidth长度的字符串。字符串最后三位为".",前面maxWidth-3位为str的前面字符部分。maxWidth必须>=4 | String str = StringUtils.abbreviate("abcedf", 5); |
2 | abbreviateMiddle | ||||
3 | capitalize | String str | String | 将首字母转换为大写 | String str = StringUtils.capitalize("china"); |
4 | center | String str, int size | String | 将str处理成长度为size的字符串。如果size<=str长度,则值不变。如果size>str长度则在两侧补空格将位数凑足size。 | String str = StringUtils.center("a", 4); |
5 | chomp | String str 、 String str, String separator | String | 去掉末尾的换行符 | String str = StringUtils.chomp("aa\r\n"); |
6 | chop | String str | String | 去掉末尾的一个字符,如果末尾是换行符就去掉换行符 | String str = StringUtils.chop("ab\r\n"); |
7 | contains | CharSequence seq, CharSequence searchSeq 、 CharSequence seq, int searchChar | boolean | seq中是否存在searchSeq | boolean bln = StringUtils.contains("ab cde-", "b c"); |
8 | containsAny | CharSequence cs, char... searchChars 、 CharSequence cs, CharSequence searchChars | boolean | cs中只要存在一个searchChars就返回true,否则返回false | boolean bln = StringUtils.containsAny("zzabyycdxx",'y','e'); |
9 | containsIgnoreCase | CharSequence str, CharSequence searchStr | boolean | 判断str中是否存在searchStr,不区分大小写 | boolean bln = StringUtils.containsIgnoreCase("abc", "Ab"); |
10 | containsNone | CharSequence cs, char... searchChars 、 CharSequence cs, CharSequence searchChars | boolean | 判断cs中完全不存在searchChars中每个字符。只要存在searchChars中1个字符就返回false。 | boolean bln = StringUtils.containsNone("abcd", "df"); |
11 | containsOnly | ||||
12 | containsWhitespace | CharSequence seq | boolean | 判断字符串中是否存在空格 | boolean bln = StringUtils.containsWhitespace("a bc"); |
13 | countMatches | CharSequence str, CharSequence sub | int | 获取str中存在多少个sub | int count = StringUtils.countMatches("abba", "ab"); |
14 | defaultIfBlank | T str, T defaultStr | <T extends CharSequence> | 如果str为""或者null或者" ",替换为defaultStr。如果str不为空就返回str | String str = StringUtils.defaultIfBlank("", "kong"); |
15 | defaultIfEmpty | T str, T defaultStr | <T extends CharSequence> | 如果str为""或者null,替换为defaultStr。如果str不为空就返回str | String str = StringUtils.defaultIfEmpty(" ", "kong"); |
16 | defaultString | String str 、 String str, String defaultStr | String | 如果str为null,返回""。如果str不为null返回str。 | String str = StringUtils.defaultString(null); |
17 | deleteWhitespace | String str | String | 删除字符串中所有空格 | String str = StringUtils.deleteWhitespace(" a bc d "); |
18 | difference | ||||
19 | endsWith | CharSequence str, CharSequence suffix | boolean | 判断str末尾是否是suffix | boolean bln = StringUtils.endsWith("abc", "bc"); |
20 | endsWithAny | CharSequence string, CharSequence... searchStrings | boolean | 如果searchStrings中存在string末尾的字符串就返回true。不存在返回false。 | boolean bln = StringUtils.endsWithAny("abcd", "ef","cd"); |
21 | endsWithIgnoreCase | CharSequence str, CharSequence suffix | boolean | 判断str末尾是否是suffix,不区分大小写 | boolean bln = StringUtils.endsWithIgnoreCase("abcde", "De"); |
22 | equals | CharSequence cs1, CharSequence cs2 | boolean | 判断cs1与cs2是否相等 | boolean bln = StringUtils.equals("cs", "cs"); |
23 | equalsIgnoreCase | CharSequence str1, CharSequence str2 | boolean | 判断cs1与cs2是否相等,不区分大小写 | boolean bln = StringUtils.equalsIgnoreCase("abc", "aBc"); |
24 | getCommonPrefix | String... strs | String | 从第一个字符开始比较,如果各个字符串都一致就返回这个字符,一直比较到出现有不一致的字符。 | String str = StringUtils.getCommonPrefix("abc","abd","af"); |
25 | getLevenshteinDistance | ||||
26 | indexOf | CharSequence seq, CharSequence searchSeq 、等 | int | 返回searchSeq在seq中的位置 | int index = StringUtils.indexOf("abcd", "bc"); |
27 | indexOfAny | CharSequence cs, char... searchChars | int | 返回searchChars在cs中最靠前出现的位置 | int index = StringUtils.indexOfAny("abcde", "d","c"); |
28 | indexOfAnyBut | CharSequence cs, char... searchChars 、 CharSequence cs, CharSequence searchChars | int | 找出cs中不在searchChars中出现字符的第一个位置。 | int index = StringUtils.indexOfAnyBut("abcdafgh", "abc"); |
29 | indexOfDifference | ||||
30 | indexOfIgnoreCase | CharSequence str, CharSequence searchStr 、 CharSequence str, CharSequence searchStr, int startPos | int | 返回searchStr在str中的位置,不区分大小写。 | int index = StringUtils.indexOfIgnoreCase("aabaabaa", "B"); |
31 | isAllLowerCase | CharSequence cs | boolean | 判断cs是否全为小写字母 | boolean bln = StringUtils.isAllLowerCase("aBc"); |
32 | isAllUpperCase | CharSequence cs | boolean | 判断cs是否全为大写字母 | boolean bln = StringUtils.isAllUpperCase("aBc"); |
33 | isAlpha | CharSequence cs | boolean | 判断cs是否为字母或者汉字 | boolean bln = StringUtils.isAlpha("abc刘"); |
34 | isAlphanumeric | CharSequence cs | boolean | 判断cs是否为字母或者汉字或者数字(数字为正整数) | boolean bln = StringUtils.isAlphanumeric("刘a1"); |
35 | isAlphanumericSpace | CharSequence cs | boolean | 判断cs是否为字母或者汉字或者数字(数字为正整数)或者空格 | boolean bln = StringUtils.isAlphanumericSpace("刘 1a"); |
36 | isAlphaSpace | CharSequence cs | boolean | 判断cs是否为字母或者汉字或者空格 | boolean bln = StringUtils.isAlphaSpace("a 刘"); |
37 | isAsciiPrintable | ||||
38 | isBlank | CharSequence cs | boolean | 判断cs是否为"",null,全空格字符串 | boolean bln = StringUtils.isBlank(" "); |
39 | isEmpty | CharSequence cs | boolean | 判断cs是否为"",null | boolean bln = StringUtils.isEmpty(""); |
40 | isNotBlank | CharSequence cs | boolean | 判断cs是否为"",null,全空格字符串以外 | boolean bln = StringUtils.isNotBlank(""); |
41 | isNotEmpty | CharSequence cs | boolean | 判断cs是否为"",null以外 | boolean bln = StringUtils.isNotEmpty("a"); |
42 | isNumeric | CharSequence cs | boolean | 判断cs是否为数字(数字为正整数) | boolean bln = StringUtils.isNumeric("012"); |
43 | isNumericSpace | CharSequence cs | boolean | 判断cs是否为数字(数字为正整数)或者空格 | boolean bln = StringUtils.isNumericSpace("1 2"); |
44 | isWhitespace | CharSequence cs | boolean | 判断cs是否为""或者全空格字符串 | boolean bln = StringUtils.isWhitespace("a "); |
45 | join | T... elements、数字、集合等 | <T> String | 将元素连接成字符串。 注:当参数为集合时连接字符会追加[]和逗号 | String str = StringUtils.join("a","b"); String[] aryStr = {"c","d"}; List<String> lst = new ArrayList<String>(); |
46 | lastIndexOf | CharSequence seq, CharSequence searchSeq 、等 | int | 返回searchSeq在seq中最后出现的位置 | int index = StringUtils.lastIndexOf("abcdabf", "ab"); |
47 | lastIndexOfAny | CharSequence str, CharSequence... searchStrs | int | 返回searchStrs各字符串在str中最后出现位置 | int index = StringUtils.lastIndexOfAny("abcd", "a","b","d"); |
48 | lastIndexOfIgnoreCase | CharSequence str, CharSequence searchStr 、 CharSequence str, CharSequence searchStr, int startPos | int | 返回searchStr在str中最后出现位置,不区分大小写 | int index = StringUtils.lastIndexOfIgnoreCase("abcdabe", "Ab"); |
49 | lastOrdinalIndexOf | ||||
50 | left | String str, int len | String | 从左侧取str的len位字符串。如果len超过str长度,就返回str。 | String str = StringUtils.left("ab", 3); |
51 | leftPad | String str, int size 、 String str, int size, char padChar 、 String str, int size, String padStr | String | 从左侧取str的size位字符串。如果len超过str长度,就在str左侧补空格补足位数。 | String str = StringUtils.leftPad("ab", 3); |
52 | length | CharSequence cs | int | 返回字符串长度。 | int length = StringUtils.length(null); |
53 | lowerCase | String str 、 String str, Locale locale | String | 将str转小写 | String str = StringUtils.lowerCase("aBc"); |
54 | mid | String str, int pos, int len | String | 从str的第pos为取len为字符串 | String str = StringUtils.mid("abcde", 1, 2); |
55 | normalizeSpace | ||||
56 | ordinalIndexOf | ||||
57 | overlay | String str, String overlay, int start, int end | String | 将str中start到end部分置换为overlay | String str = StringUtils.overlay("abcedfgh", "xxx", 2, 3); |
58 | remove | String str, String remove 、 String str, char remove | String | 从str中去除掉所有remove | String str = StringUtils.remove("abcdefbcxxy", "bc"); |
59 | removeEnd | String str, String remove | String | 如果remove是str的末尾部分,就从str中删除末尾的remove部分。如果不是原样返回str。 | String str = StringUtils.removeEnd("abcdef", "ef"); |
60 | removeEndIgnoreCase | String str, String remove | String | 同【removeEnd】,不区分大小写 | String str = StringUtils.removeEndIgnoreCase("abcdef", "Ef"); |
61 | removeStart | String str, String remove | String | 如果remove是str的开头部分,就从str中删除开头的remove部分。如果不是原样返回str。 | String str = StringUtils.removeStart("abcedf", "ab"); |
62 | removeStartIgnoreCase | String str, String remove | String | 同【removeStart】,不区分大小写 | String str = StringUtils.removeEndIgnoreCase("aBcdef", "ab"); |
63 | repeat | String str, int repeat 、 String str, String separator, int repeat 、 char ch, int repeat | String | 将str重复repeat次返回 | String str = StringUtils.repeat("abc", 2); |
64 | replace | String text, String searchString, String replacement 、 String text, String searchString, String replacement, int max | String | 将text中searchString全部置换为replacement | String str = StringUtils.replace("abcdefghbcx", "bc", "YY"); |
65 | replaceChars | String str, String searchChars, String replaceChars 、 String str, char searchChar, char replaceChar | String | 将str中的searchChars字符置换为replaceChars。其中replaceChars按位替换searchChars。 | String str = StringUtils.replaceChars("abcedfg", "bd", "XY"); |
66 | replaceEach | ||||
67 | replaceEachRepeatedly | ||||
68 | replaceOnce | String text, String searchString, String replacement | String | 将text中第一次出现的searchString置换为replacement | String str = StringUtils.replaceOnce("abcdafgh", "a", "X"); |
69 | reverse | String str | String | 将str反转 | String str = StringUtils.reverse("abc"); |
70 | reverseDelimited | String str, char separatorChar | String | 先将str按separatorChar分组,然后将各分组反转。 "ab|cd|ef"->"ef|cd|ab" | String str = StringUtils.reverseDelimited("ab|cd|ef|xx", '|'); |
71 | right | String str, int len | String | 从右侧截取str的len位。如果len大于str长度,则返回str。 | String str = StringUtils.right("abc", 2); |
72 | rightPad | String str, int size 、 String str, int size, char padChar 、 String str, int size, String padStr | String | 从右侧截取str的len位。如果len大于str长度,则在右侧补空不足位数。 | String str = StringUtils.rightPad("abc", 5); |
73 | split | String str 、 等 | String[] | 将str分割为字符串数组。默认用空格分割。 | String[] str = StringUtils.split("a b"); |
74 | splitByCharacterType | String str | String[] | 将字符串分组拆分为字符串数组。小写字母,大写字母,空格,数字,中文,特殊字符 | String[] str = StringUtils.splitByCharacterType("a■刘 +-2cDbe"); |
75 | splitByWholeSeparator | String str, String separator 、 String str, String separator, int max | String[] | 按照separator分割str | String[] str = StringUtils.splitByWholeSeparator("liu刘:li李:123", ":"); |
76 | splitByWholeSeparatorPreserveAllTokens | String str, String separator 、 String str, String separator, int max | String[] | 按照separator分割str。 当separator为null时与splitByWholeSeparator有所不同。 | String[] str = StringUtils.splitByWholeSeparatorPreserveAllTokens("liu刘:li李:123", ":"); |
77 | splitPreserveAllTokens | ||||
78 | startsWith | CharSequence str, CharSequence prefix | boolean | 判断str是否以prefix开始 | boolean bln = StringUtils.startsWith("abc", "ab"); |
79 | startsWithAny | CharSequence string, CharSequence... searchStrings | boolean | 判断str是否以searchStrings其中一个开始 | boolean bln = StringUtils.startsWithAny("aabbccdd", "ab","aa"); |
80 | startsWithIgnoreCase | CharSequence str, CharSequence prefix | boolean | 判断str是否以prefix开始,不区分大小写 | boolean bln = StringUtils.startsWithIgnoreCase("abcd", "aB"); |
81 | strip | String str 、 String str, String stripChars | String | 去除字符串两侧空格 | String str = StringUtils.strip(" a bcd "); |
82 | stripAccents | ||||
83 | stripAll | ||||
84 | stripEnd | ||||
85 | stripStart | ||||
86 | stripToEmpty | String str | String | 去掉字符串两端的空格。 null->"" ""->"" " "->"" | String str = StringUtils.stripToEmpty(" a bc "); |
87 | stripToNull | String str | String | 去掉字符串两端的空格。 null->null ""->null " "->null | String str = StringUtils.stripToNull(" a bc "); |
88 | substring | String str, int start 、 String str, int start, int end | String | 截取字符串从start到end | String str = StringUtils.substring("abc", 2); |
89 | substringAfter | String str, String separator | String | 截取str中separator后面字符串 | String str = StringUtils.substringAfter("abcdefg", "bc"); |
90 | substringAfterLast | String str, String separator | String | 截取str中最后出现separator的后面字符串 | String str = StringUtils.substringAfterLast("abcedfagc", "a"); |
91 | substringBefore | String str, String separator | String | 截取str中第一次出现separator的前面字符串 | String str = StringUtils.substringBefore("abdebf", "b"); |
92 | substringBeforeLast | String str, String separator | String | 截取str中最后出现separator的前面字符串 | String str = StringUtils.substringBeforeLast("abcedfgbxy", "b"); |
93 | substringBetween | String str, String tag 、 String str, String open, String close | String | 截取open和close中间的字符串。 | String str = StringUtils.substringBetween("abcedfgh", "c","g"); |
94 | substringsBetween | String str, String open, String close | String[] | 截取open和close中间的字符串,转换为字符串数组 | String[] arystr = StringUtils.substringsBetween("abcaxxcayyc", "a", "c"); |
95 | swapCase | String str | String | 将str中的大小写倒转 | String str = StringUtils.swapCase("aBcDe"); |
96 | toString | byte[] bytes, String charsetName | String | 将byte数组转为字符串。charsetName指定编码 | byte[] aryChar = {'a','b'}; String str = StringUtils.toString(aryChar, "utf-8"); |
97 | trim | String str | String | 删除掉字符串两侧空格。 null->null ""->"" | String str = StringUtils.trim(" a bc "); |
98 | trimToEmpty | String str | String | 删除掉字符串两侧空格。 null->"" ""->"" | String str = StringUtils.trimToEmpty(" a bc "); |
99 | trimToNull | String str | String | 删除掉字符串两侧空格。 null->null ""->null | String str = StringUtils.trimToNull(" a bc "); |
100 | uncapitalize | String str | String | 将首字母转换为小写 | String str = StringUtils.uncapitalize("AbCd"); |
101 | upperCase | String str 、 String str, Locale locale | String | 将str转换为大写 | String str = StringUtils.upperCase("aBc"); |
■org.springframework.util.StringUtils
No | 方法 | 参数 | 返回值类型 | 说明 | 使用例 |
---|---|---|---|---|---|
1 | addStringToArray | String[] array, String str | String[] | 将字符串添加到字符串数组中 | String[] aryStr = {"a","b"}; String[] aryStrResult = StringUtils.addStringToArray(aryStr, "c"); |
2 | applyRelativePath | String path, String relativePath | String | 将path中最后"/"部分置换为relativePath | String str = StringUtils.applyRelativePath("c:/aa/bb/c.txt", "/xx/y.txt"); |
3 | arrayToCommaDelimitedString | Object[] arr | String | 将数组转换为字符串,中间用逗号分隔 | Object[] aryObj = {new Integer(1),2,"5",new ZipUtils()}; String str = StringUtils.arrayToCommaDelimitedString(aryObj); |
4 | arrayToDelimitedString | Object[] arr, String delim | String | 将数组转换为字符串,中间用delim分隔 | Object[] aryObj = {new Integer(1),2,"5",new ZipUtils()}; String str = StringUtils.arrayToDelimitedString(aryObj, "-"); |
5 | capitalize | String str | String | 将首字母转换为大写 | String str = StringUtils.capitalize("aAb"); |
6 | cleanPath | String path | String | 将路径统一转换为"/" c:/aaa\\bbb\\z.txt c:/aaa/bbb/z.txt | String str = StringUtils.cleanPath("c:/aaa\\bbb\\z.txt"); |
7 | collectionToCommaDelimitedString | Collection<?> coll | String | 将集合转换为字符串,集合中各元素用逗号分隔 | List<String> lst = new ArrayList<String>(); lst.add("a"); lst.add("b"); String str = StringUtils.collectionToCommaDelimitedString(lst); |
8 | collectionToDelimitedString | Collection<?> coll, String delim | String | 将集合转换为字符串,集合中各元素用delim分隔 | List<String> lst = new ArrayList<String>(); lst.add("a"); lst.add("b"); String str = StringUtils.collectionToDelimitedString(lst, "-"); |
9 | commaDelimitedListToSet | String str | Set<String> | 将字符串转换为Set集合,分隔字符串字段用逗号 | Set<String> str = StringUtils.commaDelimitedListToSet("a,bb,ccc"); |
10 | commaDelimitedListToStringArray | String str | String[] | 将字符串转换为字符串数组,分隔字符串字段用逗号 | String[] str = StringUtils.commaDelimitedListToStringArray("a,bb,ccc"); |
11 | concatenateStringArrays | String[] array1, String[] array2 | String[] | 连接两个字符串数组 | String[] aryStr1 = {"a","b"}; String[] aryStr2 = {"c","d"}; String[] aryStr = StringUtils.concatenateStringArrays(aryStr1, aryStr2); |
12 | containsWhitespace | String str 、 CharSequence str | boolean | 判断字符串中是否存在空格 | boolean bln = StringUtils.containsWhitespace("a bc"); |
13 | countOccurrencesOf | String str, String sub | int | 计算sub在str中出现次数 | int count = StringUtils.countOccurrencesOf("abcab", "ab"); |
14 | delete | String inString, String pattern | String | 删除inString中所有pattern | String str = StringUtils.delete("abcab", "ab"); |
15 | deleteAny | String inString, String charsToDelete | String | 删除inString中所有charsToDelete中包含的字符 | String str = StringUtils.deleteAny("abcedfg", "be"); |
16 | delimitedListToStringArray | String str, String delimiter 、 String str, String delimiter, String charsToDelete | String[] | 将str分割为字符串数组,按delimiter进行分割。 | String[] arystr = StringUtils.delimitedListToStringArray("ab|cd|ef", "|"); |
17 | endsWithIgnoreCase | String str, String suffix | boolean | 判断字符串str是否以suffix结尾,其中字符串不区分大小写 | boolean bln = StringUtils.endsWithIgnoreCase("abced", "eD"); |
18 | getFilename | String path | String | 获取路径中的文件名 | String str = StringUtils.getFilename("c:/aaa/bbb/c.txt"); |
19 | getFilenameExtension | String path | String | 获取路径中的文件名后缀 | String str = StringUtils.getFilenameExtension("c:/aaa/bbb/c.txt"); |
20 | hasLength | String str 、 CharSequence str | boolean | 判断字符串长度是否大于0。字符串为null时,返回为false | boolean bln = StringUtils.hasLength(""); |
21 | hasText | String str 、 CharSequence str | boolean | 判断字符串是否存在空格以为内容。 | boolean bln = StringUtils.hasText(" 1"); |
22 | isEmpty | Object str | boolean | 判断字符串是否为空。Null,空字符串都算空 | boolean bln = StringUtils.isEmpty(""); |
23 | mergeStringArrays | String[] array1, String[] array2 | String[] | 连接两个字符串数组。如果第二个字符串数组中存在第一个字符串数组中的元素,就抛弃这个元素。 | String[] aryStr1 = {"a","b","a"}; String[] aryStr2 = {"c","d","a"}; String[] ary = StringUtils.mergeStringArrays(aryStr1, aryStr2); |
24 | parseLocaleString | String localeString | Locale | 获取Locale | Locale locale = StringUtils.parseLocaleString("zh_CN"); |
25 | parseTimeZoneString | ||||
26 | pathEquals | String path1, String path2 | boolean | 比较两个路径是否一致,会先将路径统一成"/",再比较 | boolean bln = StringUtils.pathEquals("c:/aa/bb/c.txt", "c:/aa/bb\\c.txt"); |
27 | quote | String str | String | 将字符串两端加单引号 | String str = StringUtils.quote("test"); |
28 | quoteIfString | Object obj | Object | 判断obj是否为字符串,如果是字符串就加单引号返回,如果不是就原样返回 | Object obj = StringUtils.quoteIfString("a"); |
29 | removeDuplicateStrings | String[] array | String[] | 取得字符串数组中的重复元素 | String[] aryStr1 = {"a","b","a"}; String[] aryStr = StringUtils.removeDuplicateStrings(aryStr1); |
30 | replace | String inString, String oldPattern, String newPattern | String | 置换字符串 | String str = StringUtils.replace("abcebcf", "bc", "xx"); |
31 | sortStringArray | String[] array | String[] | 对字符串数组元素进行排序 | String[] aryStr1 = {"a","b","a","c"}; String[] aryStr = StringUtils.sortStringArray(aryStr1); |
32 | split | String toSplit, String delimiter | String[] | 将toSplit按delimiter分割字符串,只分割1次。及拆分为2个元素的字符串数组。 | String[] aryStr = StringUtils.split("a-b-c", "-"); |
33 | splitArrayElementsIntoProperties | ||||
34 | startsWithIgnoreCase | String str, String prefix | boolean | 判断str是否以prefix开始。其中字符串不区分大小写。 | boolean bln = StringUtils.startsWithIgnoreCase("aBcd", "ab"); |
35 | stripFilenameExtension | String path | String | 获取路径中除文件后缀部分 | String str = StringUtils.stripFilenameExtension("c:/aa/bb/c.txt"); |
36 | substringMatch | CharSequence str, int index, CharSequence substring | boolean | 判断子字符串出现位置是否和给定位置一致。 | boolean bln = StringUtils.substringMatch("abcde", 2, "cd"); |
37 | tokenizeToStringArray | ||||
38 | toLanguageTag | Locale locale | String | 把Locale转化成HTTP中Accept-Language能接受的本地化标准 | String str = StringUtils.toLanguageTag(Locale.CHINA); |
39 | toStringArray | Collection<String> collection | String[] | 将字符串集合转换为字符串数组 | List<String> lst = new ArrayList<String>(); lst.add("a"); lst.add("b"); String[] aryStr = StringUtils.toStringArray(lst); |
40 | trimAllWhitespace | String | String | 去除掉字符中所有空格 | String str = StringUtils.trimAllWhitespace(" Hello World "); |
41 | trimArrayElements | String[] array | String[] | 去掉数组中各元素两端空格。 | String[] aryStr1 = {" a ","b c"," "," e f g "}; String[] aryStr = StringUtils.trimArrayElements(aryStr1); |
42 | trimLeadingCharacter | String str, char leadingCharacter | String | 删除str前面所有leadingCharacter | String str = StringUtils.trimLeadingCharacter("--abcd", '-'); |
43 | trimLeadingWhitespace | String str | String | 删除掉字符串前面所有空格 | String str = StringUtils.trimLeadingWhitespace(" abc"); |
44 | trimTrailingCharacter | String str, char trailingCharacter | String | 删除str后面所有trailingCharacter | String str = StringUtils.trimTrailingCharacter(" -a-b--", '-'); |
45 | trimTrailingWhitespace | String str | String | 删除掉字符串后面所有空格 | String str = StringUtils.trimTrailingWhitespace(" a b "); |
46 | trimWhitespace | String str | String | 删除字符串前后所有空格 | String str = StringUtils.trimWhitespace(" a b "); |
47 | uncapitalize | String str | String | 将字符串首字母小写 | String str = StringUtils.uncapitalize("ABC"); |
48 | unqualify | String qualifiedName 、 String qualifiedName, char separator | String | 取"."分割的最后一个字符串 | String str = StringUtils.unqualify("this.name.is.qualified"); |