StringUtils

Posted 名字不好起啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringUtils相关的知识,希望对你有一定的参考价值。

null 和 ""操作:

1、判断是否Null 或者 "":StringUtils.isEmpty(null) 、StringUtils.isNotEmpty(null)

2、判断是否null 或者 "" 去空格:StringUtils.isBlank("  ")、StringUtils.isNotBlank(null)

3、去空格.Null返回null:StringUtils.trim(null)

4、去空格,将Null和"" 转换为Null:StringUtils.trimToNull("")

5、去空格,将NULL 和 "" 转换为"":StringUtils.trimToEmpty(null)

6、可能是对特殊空格符号去除??:StringUtils.strip("大家好  啊  \t")

7、同上,将""和null转换为Null:StringUtils.stripToNull(" \t")

8、同上,将""和null转换为"":StringUtils.stripToEmpty(null)

9、将""或者Null 转换为 "":StringUtils.defaultString(null)

10、仅当字符串为Null时 转换为指定的字符串(二参数):StringUtils.defaultString("", "df")

11、当字符串为null或者""时,转换为指定的字符串(二参数):StringUtils.defaultIfEmpty(null, "sos")

 

去空格.去字符:

1、如果第二个参数为null去空格(否则去掉字符串2边一样的字符,到不一样为止):StringUtils.strip("fsfsdf", "f")

2、如果第二个参数为null只去前面空格(否则去掉字符串前面一样的字符,到不一样为止):StringUtils.stripStart("ddsuuu ", "d")

3、如果第二个参数为null只去后面空格,(否则去掉字符串后面一样的字符,到不一样为止):StringUtils.stripEnd("dabads", "das")

4、对数组没个字符串进行去空格。:ArrayToList(StringUtils.stripAll(new String[]{" 中华 ", "民 国 ", "共和 "}));

5、如果第二个参数为null.对数组每个字符串进行去空格。(否则去掉数组每个元素开始和结尾一样的字符):ArrayToList(StringUtils.stripAll(new String[]{" 中华 ", "民 国", "国共和国"}, "国"));

 

查找,判断:

1、判断2个字符串是否相等相等,Null也相等:StringUtils.equals(null, null)

2、不区分大小写比较:StringUtils.equalsIgnoreCase("abc", "ABc")

3、普通查找字符,如果一参数为null或者""返回-1:StringUtils.indexOf(null, "a")

4、从指定位置(三参数)开始查找,本例从第2个字符开始查找k字符:StringUtils.indexOf("akfekcd中华", "k", 2)、StringUtils.ordinalIndexOf("akfekcd中华", "k", 2)

5、查找,不区分大小写:StringUtils.indexOfIgnoreCase("adfs", "D")

6、从指定位置(三参数)开始查找,不区分大小写:StringUtils.indexOfIgnoreCase("adfs", "a", 3)

7、从后往前查找:StringUtils.lastIndexOf("adfas", "a")

8、??:StringUtils.lastIndexOf("d饿abasdafs我", "a", 3)

9、??:StringUtils.lastOrdinalIndexOf("yksdfdht", "f", 2)

10、从后往前查,不区分大小写:StringUtils.lastIndexOfIgnoreCase("sdffet", "E")

11、??:StringUtils.lastIndexOfIgnoreCase("efefrfs看", "F" , 2)

12、检查是否查到,返回boolean,null返回假:StringUtils.contains("sdf", "dg")

13、检查是否查到,返回boolean,null返回假,不区分大小写:StringUtils.containsIgnoreCase("sdf", "D")

14、检查是否有含有空格,返回boolean:StringUtils.containsWhitespace(" d")

15、查询字符串跟数组任一元素相同的第一次相同的位置:StringUtils.indexOfAny("absfekf", new String[]{"f", "b"})

16、查询字符串中指定字符串(参数二)出现的次数:StringUtils.indexOfAny("afefes", "e")

17、查找字符串中是否有字符数组中相同的字符,返回boolean:StringUtils.containsAny("asfsd", new char[]{‘k‘, ‘e‘, ‘s‘})

18、??:StringUtils.containsAny("啡f咖啡", "咖")

19、??:StringUtils.indexOfAnyBut("seefaff", "af")

20、判断字符串中所有字符,都是出自参数二中。:StringUtils.containsOnly("中华华", "华")

21、判断字符串中所有字符,都是出自参数二的数组中。:StringUtils.containsOnly("中华中", new char[]{‘中‘, ‘华‘})

22、判断字符串中所有字符,都不在参数二中。:StringUtils.containsNone("中华华", "国")

23、判断字符串中所有字符,都不在参数二的数组中。:StringUtils.containsNone("中华中", new char[]{‘中‘, ‘达人‘})

24、从后往前查找字符串中与字符数组中相同的元素第一次出现的位置。本例为4:StringUtils.lastIndexOfAny("中国人民共和国", new String[]{"国人", "共和"})

25、查询字符串中指定字符串(参数二)出现的次数:StringUtils.countMatches("中国人民共和中国", "中国")

26、检查是否CharSequence的只包含Unicode的字母。空将返回false。一个空的CharSequence(长()= 0)将返回true:StringUtils.isAlpha("这是干什么的2")

27、检查是否只包含Unicode的CharSequence的字母和空格(‘‘)。空将返回一个空的CharSequence假(长()= 0)将返回true。:StringUtils.isAlphaSpace("NBA直播 ")

28、检查是否只包含Unicode的CharSequence的字母或数字。空将返回false。一个空的CharSequence(长()= 0)将返回true。:StringUtils.isAlphanumeric("NBA直播")

29、如果检查的Unicode CharSequence的只包含字母,数字或空格(‘‘)。空将返回false。一个空的CharSequence(长()= 0)将返回true。:StringUtils.isAlphanumericSpace("NBA直播")

30、检查是否只包含ASCII可CharSequence的字符。空将返回false。一个空的CharSequence(长()= 0)将返回true。:StringUtils.isAsciiPrintable("NBA直播")

31、如果检查的Unicode CharSequence的只包含字母,数字或空格(‘‘)。空将返回false。一个空的CharSequence(长()= 0)将返回true。:StringUtils.isAlphanumericSpace("NBA直播")

32、检查是否只包含ASCII可CharSequence的字符。空将返回false。一个空的CharSequence(长()= 0)将返回true。:StringUtils.isAsciiPrintable("NBA直播")

33、检查是否只包含数值。:StringUtils.isNumeric("NBA直播")

34、检查是否只包含数值或者空格:StringUtils.isNumericSpace("33 545")

35、检查是否只是空格或""。:StringUtils.isWhitespace(" ")

36、检查是否全是英文小写。:StringUtils.isAllLowerCase("kjk33")

37、检查是否全是英文大写。:StringUtils.isAllUpperCase("KJKJ")

 

交集操作:

1、去掉参数2字符串中在参数一中开头部分共有的部分,结果为:人民共和加油:StringUtils.difference("中国加油", "中国人民共和加油")

2、统计2个字符串开始部分共有的字符个数:StringUtils.indexOfDifference("ww.taobao", "www.taobao.com")

3、统计数组中各个元素的字符串开始都一样的字符个数:StringUtils.indexOfDifference(new String[] {"中国加油", "中国共和", "中国人民"})

4、取数组每个元素共同的部分字符串:StringUtils.getCommonPrefix(new String[] {"中国加油", "中国共和", "中国人民"})

5、统计参数一中每个字符与参数二中每个字符不同部分的字符个数:StringUtils.getLevenshteinDistance("中国共和发国人民", "共和国")

6、判断开始部分是否与二参数相同:StringUtils.startsWith("中国共和国人民", "中国")

7、判断开始部分是否与二参数相同。不区分大小写:StringUtils.startsWithIgnoreCase("中国共和国人民", "中国")

8、判断字符串开始部分是否与数组中的某一元素相同:StringUtils.startsWithAny("abef", new String[]{"ge", "af", "ab"})

9、判断结尾是否相同:StringUtils.endsWith("abcdef", "def")

10、判断结尾是否相同,不区分大小写:StringUtils.endsWithIgnoreCase("abcdef", "Def")

 

字符串截取:

1、截取指定位置的字符,null返回null.""返回"":StringUtils.substring("国民党", 2)

2、截取指定区间的字符:StringUtils.substring("中国人民共和国", 2, 4)

3、从左截取指定长度的字符串:StringUtils.left("说点什么好呢", 3)

4、从右截取指定长度的字符串:StringUtils.right("说点什么好呢", 3)

5、从第几个开始截取,三参数表示截取的长度:StringUtils.mid("说点什么好呢", 3, 2)

6、截取到等于第二个参数的字符串为止:StringUtils.substringBefore("说点什么好呢", "好")

7、从左往右查到相等的字符开始,保留后边的,不包含等于的字符。本例:什么好呢:StringUtils.substringAfter("说点什么好呢", "点")

8、这个也是截取到相等的字符,但是是从右往左.本例结果:说点什么好:StringUtils.substringBeforeLast("说点什么好点呢", "点")

9、这个截取同上是从右往左。但是保留右边的字符:StringUtils.substringAfterLast("说点什么好点呢?", "点")

10、截取查找到第一次的位置,和第二次的位置中间的字符。如果没找到第二个返回null。本例结果:2010世界杯在:StringUtils.substringBetween("南非2010世界杯在南非,在南非", "南非")

11、返回参数二和参数三中间的字符串,返回数组形式:StringUtils.substringsBetween("[a][b][c]", "[", "]")

 

分割:

1、用空格分割成数组,null为null:ArrayToList(StringUtils.split("中华 人民  共和"));

2、以指定字符分割成数组:ArrayToList(StringUtils.split("中华 ,人民,共和", ","));

3、以指定字符分割成数组,第三个参数表示分隔成数组的长度,如果为0全体分割:ArrayToList(StringUtils.split("中华 :人民:共和", ":", 2));

4、指定字符分割成数组:ArrayToList(StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-"));

5、以指定字符分割成数组,第三个参数表示分隔成数组的长度:ArrayToList(StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-", 2));

6、分割,但" "不会被忽略算一个元素,二参数为null默认为空格分隔:ArrayToList(StringUtils.splitByWholeSeparatorPreserveAllTokens(" ab   de fg ", null));

7、同上,分割," "不会被忽略算一个元素。第三个参数代表分割的数组长度。:ArrayToList(StringUtils.splitByWholeSeparatorPreserveAllTokens("ab   de fg", null, 3));

8、,分割:ArrayToList(StringUtils.splitPreserveAllTokens(" ab   de fg "));

9、,指定字符分割成数组:ArrayToList(StringUtils.splitPreserveAllTokens(" ab   de fg ", null));

10、以指定字符分割成数组,第三个参数表示分隔成数组的长度:StringUtils.splitPreserveAllTokens(" ab   de fg ", null, 2)

11、以不同类型进行分隔:StringUtils.splitByCharacterType("AEkjKr i39:。中文")

12、??:StringUtils.splitByCharacterTypeCamelCase("ASFSRules234")

 

拼接:

1、将数组转换为字符串形式:StringUtils.concat(getArrayData())

2、拼接时用参数一得字符相连接.注意null也用连接符连接了:StringUtils.concatWith(",", getArrayData())

3、拼接:StringUtils.join(getArrayData())

4、用连接符拼接:StringUtils.join(getArrayData(), ":")

5、拼接指定数组下标的开始(三参数)和结束(四参数,不包含)的中间这些元素,用连接符连接:StringUtils.join(getArrayData(), ":", 1, 3)

6、用于集合连接字符串.用于集合:StringUtils.join(getListData(), ":")

 

移除,删除:

1、删除所有空格符:StringUtils.deleteWhitespace(" s 中 你 4j")

2、移除开始部分的相同的字符:StringUtils.removeStart("www.baidu.com", "www.")

3、移除开始部分的相同的字符,不区分大小写:StringUtils.removeStartIgnoreCase("www.baidu.com", "WWW")

4、移除后面相同的部分:StringUtils.removeEnd("www.baidu.com", ".com")

5、移除后面相同的部分,不区分大小写:StringUtils.removeEndIgnoreCase("www.baidu.com", ".COM")

6、移除所有相同的部分:StringUtils.remove("www.baidu.com/baidu", "bai")

7、移除结尾字符为"\n", "\r", 或者 "\r\n".:StringUtils.chomp("abcrabc\r")

8、也是移除,未解。去结尾相同字符:StringUtils.chomp("baidu.com", "com")

9、去掉末尾最后一个字符.如果是"\n", "\r", 或者 "\r\n"也去除:StringUtils.chop("wwe.baidu")

 

替换:

1、替换指定的字符,只替换第一次出现的:StringUtils.replaceOnce("www.baidu.com/baidu", "baidu", "hao123")

2、替换所有出现过的字符:StringUtils.replace("www.baidu.com/baidu", "baidu", "hao123")

3、最后一个参数表示替换几个:StringUtils.replace("www.baidu.com/baidu", "baidu", "hao123", 1)

4、这个有意识,二三参数对应的数组,查找二参数数组一样的值,替换三参数对应数组的值。本例:baidu替换为taobao。com替换为net:StringUtils.replaceEach("www.baidu.com/baidu", new String[]{"baidu", "com"}, new String[]{"taobao", "net"})

5、同上,未发现不同:StringUtils.replaceEachRepeatedly("www.baidu.com/baidu", new String[]{"baidu", "com"}, new String[]{"taobao", "net"})

6、这个更好,不是数组对应,是字符串参数二和参数三对应替换.(二三参数不对应的话,自己看后果):StringUtils.replaceChars("www.baidu.com", "bdm", "qo")

7、替换指定开始(参数三)和结束(参数四)中间的所有字符:StringUtils.overlay("www.baidu.com", "hao123", 4, 9)

 

添加,增加:

1、复制参数一的字符串,参数二为复制的次数:StringUtils.repeat("ba", 3)

2、复制参数一的字符串,参数三为复制的次数。参数二为复制字符串中间的连接字符串:StringUtils.repeat("ab", "ou", 3)

3、如何字符串长度小于参数二的值,末尾加空格补全。(小于字符串长度不处理返回):StringUtils.rightPad("海川", 4)

4、字符串长度小于二参数,末尾用参数三补上,多于的截取(截取补上的字符串):StringUtils.rightPad("海川", 4, "河流啊")

5、同上在前面补全空格:StringUtils.leftPad("海川", 4)

6、字符串长度小于二参数,前面用参数三补上,多于的截取(截取补上的字符串):StringUtils.leftPad("海川", 4, "大家好")

7、字符串长度小于二参数。在两侧用空格平均补全(测试后面补空格优先):StringUtils.center("海川", 3)

8、字符串长度小于二参数。在两侧用三参数的字符串平均补全(测试后面补空格优先):StringUtils.center("海川", 5, "流")

9、只显示指定数量(二参数)的字符,后面以三个点补充(参数一截取+三个点=二参数):StringUtils.abbreviate("中华人民共和国", 5)

10、2头加点这个有点乱。本例结果: ...ijklmno:StringUtils.abbreviate("abcdefghijklmno", 12, 10)

11、保留指定长度,最后一个字符前加点.本例结果: ab.f:StringUtils.abbreviateMiddle("abcdef", ".", 4)

 

转换,刷选:

1、转换第一个字符为大写.如何第一个字符是大写原始返回:StringUtils.capitalize("Ddf")

2、转换第一个字符为大写.如何第一个字符是大写原始返回:StringUtils.uncapitalize("DTf")

3、反向转换,大写变小写,小写变大写:StringUtils.swapCase("I am Jiang, Hello")

4、将字符串倒序排列:StringUtils.reverse("中国人民")

5、根据特定字符(二参数)分隔进行反转:StringUtils.reverseDelimited("中:国:人民", ‘:‘)

 

Thanks:http://yijianfengvip.blog.163.com/blog/static/175273432201212221935832/

以上是关于StringUtils的主要内容,如果未能解决你的问题,请参考以下文章