StringUtils

整理 apache 提供的StringUtils

 //null 和 ""操作~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

003    //判断是否Null 或者 "" 
004    //System.out.println(StringUtils.isEmpty(null)); 
005    //System.out.println(StringUtils.isNotEmpty(null)); 
006    //判断是否null 或者 "" 去空格~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
007    //System.out.println(StringUtils.isBlank("  ")); 
008    //System.out.println(StringUtils.isNotBlank(null)); 
009    //去空格.Null返回null~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
010    //System.out.println(StringUtils.trim(null)); 
011    //去空格,将Null和"" 转换为Null 
012    //System.out.println(StringUtils.trimToNull("")); 
013    //去空格,将NULL 和 "" 转换为"" 
014    //System.out.println(StringUtils.trimToEmpty(null)); 
015    //可能是对特殊空格符号去除?? 
016    //System.out.println(StringUtils.strip("大家好  啊  \t")); 
017    //同上,将""和null转换为Null 
018    //System.out.println(StringUtils.stripToNull(" \t")); 
019    //同上,将""和null转换为"" 
020    //System.out.println(StringUtils.stripToEmpty(null)); 
021    //将""或者Null 转换为 "" 
022    //System.out.println(StringUtils.defaultString(null)); 
023    //仅当字符串为Null时 转换为指定的字符串(二参数) 
024    //System.out.println(StringUtils.defaultString("", "df")); 
025    //当字符串为null或者""时,转换为指定的字符串(二参数) 
026    //System.out.println(StringUtils.defaultIfEmpty(null, "sos")); 
027    //去空格.去字符~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
028    //如果第二个参数为null去空格(否则去掉字符串2边一样的字符,到不一样为止) 
029    //System.out.println(StringUtils.strip("fsfsdf", "f")); 
030    //如果第二个参数为null只去前面空格(否则去掉字符串前面一样的字符,到不一样为止) 
031    //System.out.println(StringUtils.stripStart("ddsuuu ", "d")); 
032    //如果第二个参数为null只去后面空格,(否则去掉字符串后面一样的字符,到不一样为止) 
033    //System.out.println(StringUtils.stripEnd("dabads", "das")); 
034    //对数组没个字符串进行去空格。 
035    //ArrayToList(StringUtils.stripAll(new String[]{" 中华 ", "民 国 ", "共和 "})); 
036    //如果第二个参数为null.对数组每个字符串进行去空格。(否则去掉数组每个元素开始和结尾一样的字符) 
037    //ArrayToList(StringUtils.stripAll(new String[]{" 中华 ", "民 国", "国共和国"}, "国")); 
038    //查找,判断~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
039    //判断2个字符串是否相等相等,Null也相等 
040    //System.out.println(StringUtils.equals(null, null)); 
041    //不区分大小写比较 
042    //System.out.println(StringUtils.equalsIgnoreCase("abc", "ABc")); 
043    //查找,不知道怎么弄这么多查找,很多不知道区别在哪?费劲~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
044    //普通查找字符,如果一参数为null或者""返回-1 
045    //System.out.println(StringUtils.indexOf(null, "a")); 
046    //从指定位置(三参数)开始查找,本例从第2个字符开始查找k字符 
047    //System.out.println(StringUtils.indexOf("akfekcd中华", "k", 2)); 
048    //未发现不同之处 
049    //System.out.println(StringUtils.ordinalIndexOf("akfekcd中华", "k", 2)); 
050    //查找,不区分大小写 
051    //System.out.println(StringUtils.indexOfIgnoreCase("adfs", "D")); 
052    //从指定位置(三参数)开始查找,不区分大小写 
053    //System.out.println(StringUtils.indexOfIgnoreCase("adfs", "a", 3)); 
054    //从后往前查找 
055    //System.out.println(StringUtils.lastIndexOf("adfas", "a")); 
056    //未理解,此结果为2 
057    //System.out.println(StringUtils.lastIndexOf("d饿abasdafs我", "a", 3)); 
058    //未解,此结果为-1 
059    //System.out.println(StringUtils.lastOrdinalIndexOf("yksdfdht", "f", 2)); 
060    //从后往前查,不区分大小写 
061    //System.out.println(StringUtils.lastIndexOfIgnoreCase("sdffet", "E")); 
062    //未解,此结果为1 
063    //System.out.println(StringUtils.lastIndexOfIgnoreCase("efefrfs看", "F" , 2)); 
064    //检查是否查到,返回boolean,null返回假 
065    //System.out.println(StringUtils.contains("sdf", "dg")); 
066    //检查是否查到,返回boolean,null返回假,不区分大小写 
067    //System.out.println(StringUtils.containsIgnoreCase("sdf", "D")); 
068    //检查是否有含有空格,返回boolean 
069    //System.out.println(StringUtils.containsWhitespace(" d")); 
070    //查询字符串跟数组任一元素相同的第一次相同的位置 
071    //System.out.println(StringUtils.indexOfAny("absfekf", new String[]{"f", "b"})); 
072    //查询字符串中指定字符串(参数二)出现的次数 
073    //System.out.println(StringUtils.indexOfAny("afefes", "e")); 
074    //查找字符串中是否有字符数组中相同的字符,返回boolean 
075    //System.out.println(StringUtils.containsAny("asfsd", new char[]{'k', 'e', 's'})); 
076    //未理解与lastIndexOf不同之处。是否查到,返回boolean 
077    //System.out.println(StringUtils.containsAny("啡f咖啡", "咖")); 
078    //未解 
079    //System.out.println(StringUtils.indexOfAnyBut("seefaff", "af")); 
080    //判断字符串中所有字符,都是出自参数二中。 
081    //System.out.println(StringUtils.containsOnly("中华华", "华")); 
082    //判断字符串中所有字符,都是出自参数二的数组中。 
083    //System.out.println(StringUtils.containsOnly("中华中", new char[]{'中', '华'})); 
084    //判断字符串中所有字符,都不在参数二中。 
085    //System.out.println(StringUtils.containsNone("中华华", "国")); 
086    //判断字符串中所有字符,都不在参数二的数组中。 
087    //System.out.println(StringUtils.containsNone("中华中", new char[]{'中', '达人'})); 
088    //从后往前查找字符串中与字符数组中相同的元素第一次出现的位置。本例为4 
089    //System.out.println(StringUtils.lastIndexOfAny("中国人民共和国", new String[]{"国人", "共和"})); 
090    //未发现与indexOfAny不同之处  查询字符串中指定字符串(参数二)出现的次数 
091    //System.out.println(StringUtils.countMatches("中国人民共和中国", "中国")); 
092    //检查是否CharSequence的只包含Unicode的字母。空将返回false。一个空的CharSequence(长()= 0)将返回true 
093    //System.out.println(StringUtils.isAlpha("这是干什么的2")); 
094    //检查是否只包含Unicode的CharSequence的字母和空格('')。空将返回一个空的CharSequence假(长()= 0)将返回true。 
095    //System.out.println(StringUtils.isAlphaSpace("NBA直播 ")); 
096    //检查是否只包含Unicode的CharSequence的字母或数字。空将返回false。一个空的CharSequence(长()= 0)将返回true。 
097    //System.out.println(StringUtils.isAlphanumeric("NBA直播")); 
098    //如果检查的Unicode CharSequence的只包含字母,数字或空格('')。空将返回false。一个空的CharSequence(长()= 0)将返回true。 
099    //System.out.println(StringUtils.isAlphanumericSpace("NBA直播")); 
100    //检查是否只包含ASCII可CharSequence的字符。空将返回false。一个空的CharSequence(长()= 0)将返回true。 
101    //System.out.println(StringUtils.isAsciiPrintable("NBA直播")); 
102    //检查是否只包含数值。 
103    //System.out.println(StringUtils.isNumeric("NBA直播")); 
104    //检查是否只包含数值或者空格 
105    //System.out.println(StringUtils.isNumericSpace("33 545")); 
106    //检查是否只是空格或""。 
107    //System.out.println(StringUtils.isWhitespace(" ")); 
108    //检查是否全是英文小写。 
109    //System.out.println(StringUtils.isAllLowerCase("kjk33")); 
110    //检查是否全是英文大写。 
111    //System.out.println(StringUtils.isAllUpperCase("KJKJ")); 
112    //交集操作~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
113    //去掉参数2字符串中在参数一中开头部分共有的部分,结果为:人民共和加油 
114    //System.out.println(StringUtils.difference("中国加油", "中国人民共和加油")); 
115    //统计2个字符串开始部分共有的字符个数 
116    //System.out.println(StringUtils.indexOfDifference("ww.taobao", "www.taobao.com")); 
117    //统计数组中各个元素的字符串开始都一样的字符个数 
118    //System.out.println(StringUtils.indexOfDifference(new String[] {"中国加油", "中国共和", "中国人民"})); 
119    //取数组每个元素共同的部分字符串 
120    //System.out.println(StringUtils.getCommonPrefix(new String[] {"中国加油", "中国共和", "中国人民"})); 
121    //统计参数一中每个字符与参数二中每个字符不同部分的字符个数 
122    //System.out.println(StringUtils.getLevenshteinDistance("中国共和发国人民", "共和国")); 
123    //判断开始部分是否与二参数相同 
124    //System.out.println(StringUtils.startsWith("中国共和国人民", "中国")); 
125    //判断开始部分是否与二参数相同。不区分大小写 
126    //System.out.println(StringUtils.startsWithIgnoreCase("中国共和国人民", "中国")); 
127    //判断字符串开始部分是否与数组中的某一元素相同 
128    //System.out.println(StringUtils.startsWithAny("abef", new String[]{"ge", "af", "ab"})); 
129    //判断结尾是否相同 
130    //System.out.println(StringUtils.endsWith("abcdef", "def")); 
131    //判断结尾是否相同,不区分大小写 
132    //System.out.println(StringUtils.endsWithIgnoreCase("abcdef", "Def")); 
133    //字符串截取~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
134    //截取指定位置的字符,null返回null.""返回"" 
135    //System.out.println(StringUtils.substring("国民党", 2)); 
136    //截取指定区间的字符 
137    //System.out.println(StringUtils.substring("中国人民共和国", 2, 4)); 
138    //从左截取指定长度的字符串 
139    //System.out.println(StringUtils.left("说点什么好呢", 3)); 
140    //从右截取指定长度的字符串 
141    //System.out.println(StringUtils.right("说点什么好呢", 3)); 
142    //从第几个开始截取,三参数表示截取的长度 
143    //System.out.println(StringUtils.mid("说点什么好呢", 3, 2)); 
144    //截取到等于第二个参数的字符串为止 
145    //System.out.println(StringUtils.substringBefore("说点什么好呢", "好")); 
146    //从左往右查到相等的字符开始,保留后边的,不包含等于的字符。本例:什么好呢 
147    //System.out.println(StringUtils.substringAfter("说点什么好呢", "点")); 
148    //这个也是截取到相等的字符,但是是从右往左.本例结果:说点什么好 
149    //System.out.println(StringUtils.substringBeforeLast("说点什么好点呢", "点")); 
150    //这个截取同上是从右往左。但是保留右边的字符 
151    //System.out.println(StringUtils.substringAfterLast("说点什么好点呢?", "点")); 
152    //截取查找到第一次的位置,和第二次的位置中间的字符。如果没找到第二个返回null。本例结果:2010世界杯在 
153    //System.out.println(StringUtils.substringBetween("南非2010世界杯在南非,在南非", "南非")); 
154    //返回参数二和参数三中间的字符串,返回数组形式 
155    //ArrayToList(StringUtils.substringsBetween("[a][b][c]", "[", "]")); 
156    //分割~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
157    //用空格分割成数组,null为null 
158    //ArrayToList(StringUtils.split("中华 人民  共和")); 
159    //以指定字符分割成数组 
160    //ArrayToList(StringUtils.split("中华 ,人民,共和", ",")); 
161    //以指定字符分割成数组,第三个参数表示分隔成数组的长度,如果为0全体分割 
162    //ArrayToList(StringUtils.split("中华 :人民:共和", ":", 2)); 
163    //未发现不同的地方,指定字符分割成数组 
164    //ArrayToList(StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-")); 
165    //未发现不同的地方,以指定字符分割成数组,第三个参数表示分隔成数组的长度 
166    //ArrayToList(StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-", 2)); 
167    //分割,但" "不会被忽略算一个元素,二参数为null默认为空格分隔 
168    //ArrayToList(StringUtils.splitByWholeSeparatorPreserveAllTokens(" ab   de fg ", null)); 
169    //同上,分割," "不会被忽略算一个元素。第三个参数代表分割的数组长度。 
170    //ArrayToList(StringUtils.splitByWholeSeparatorPreserveAllTokens("ab   de fg", null, 3)); 
171    //未发现不同地方,分割 
172    //ArrayToList(StringUtils.splitPreserveAllTokens(" ab   de fg ")); 
173    //未发现不同地方,指定字符分割成数组 
174    //ArrayToList(StringUtils.splitPreserveAllTokens(" ab   de fg ", null)); 
175    //未发现不同地方,以指定字符分割成数组,第三个参数表示分隔成数组的长度 
176    //ArrayToList(StringUtils.splitPreserveAllTokens(" ab   de fg ", null, 2)); 
177    //以不同类型进行分隔 
178    //ArrayToList(StringUtils.splitByCharacterType("AEkjKr i39:。中文")); 
179    //未解 
180    //ArrayToList(StringUtils.splitByCharacterTypeCamelCase("ASFSRules234")); 
181    //拼接~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
182    //将数组转换为字符串形式 
183    //System.out.println(StringUtils.concat(getArrayData())); 
184    //拼接时用参数一得字符相连接.注意null也用连接符连接了 
185    //System.out.println(StringUtils.concatWith(",", getArrayData())); 
186    //也是拼接。未发现区别 
187    //System.out.println(StringUtils.join(getArrayData())); 
188    //用连接符拼接,为发现区别 
189    //System.out.println(StringUtils.join(getArrayData(), ":")); 
190    //拼接指定数组下标的开始(三参数)和结束(四参数,不包含)的中间这些元素,用连接符连接 
191    //System.out.println(StringUtils.join(getArrayData(), ":", 1, 3)); 
192    //用于集合连接字符串.用于集合 
193    //System.out.println(StringUtils.join(getListData(), ":")); 
194    //移除,删除~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
195    //删除所有空格符 
196    //System.out.println(StringUtils.deleteWhitespace(" s 中 你 4j")); 
197    //移除开始部分的相同的字符 
198    //System.out.println(StringUtils.removeStart("www.baidu.com", "www.")); 
199    //移除开始部分的相同的字符,不区分大小写 
200    //System.out.println(StringUtils.removeStartIgnoreCase("www.baidu.com", "WWW")); 
201    //移除后面相同的部分 
202    //System.out.println(StringUtils.removeEnd("www.baidu.com", ".com")); 
203    //移除后面相同的部分,不区分大小写 
204    //System.out.println(StringUtils.removeEndIgnoreCase("www.baidu.com", ".COM")); 
205    //移除所有相同的部分 
206    //System.out.println(StringUtils.remove("www.baidu.com/baidu", "bai")); 
207    //移除结尾字符为"\n", "\r", 或者 "\r\n". 
208    //System.out.println(StringUtils.chomp("abcrabc\r")); 
209    //也是移除,未解。去结尾相同字符 
210    //System.out.println(StringUtils.chomp("baidu.com", "com")); 
211    //去掉末尾最后一个字符.如果是"\n", "\r", 或者 "\r\n"也去除 
212    //System.out.println(StringUtils.chop("wwe.baidu")); 
213    //替换~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
214    //替换指定的字符,只替换第一次出现的 
215    //System.out.println(StringUtils.replaceOnce("www.baidu.com/baidu", "baidu", "hao123")); 
216    //替换所有出现过的字符 
217    //System.out.println(StringUtils.replace("www.baidu.com/baidu", "baidu", "hao123")); 
218    //也是替换,最后一个参数表示替换几个 
219    //System.out.println(StringUtils.replace("www.baidu.com/baidu", "baidu", "hao123", 1)); 
220    //这个有意识,二三参数对应的数组,查找二参数数组一样的值,替换三参数对应数组的值。本例:baidu替换为taobao。com替换为net 
221    //System.out.println(StringUtils.replaceEach("www.baidu.com/baidu", new String[]{"baidu", "com"}, new String[]{"taobao", "net"})); 
222    //同上,未发现不同 
223    //System.out.println(StringUtils.replaceEachRepeatedly("www.baidu.com/baidu", new String[]{"baidu", "com"}, new String[]{"taobao", "net"})); 
224    //这个更好,不是数组对应,是字符串参数二和参数三对应替换.(二三参数不对应的话,自己看后果) 
225    //System.out.println(StringUtils.replaceChars("www.baidu.com", "bdm", "qo")); 
226    //替换指定开始(参数三)和结束(参数四)中间的所有字符 
227    //System.out.println(StringUtils.overlay("www.baidu.com", "hao123", 4, 9)); 
228    //添加,增加~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
229    //复制参数一的字符串,参数二为复制的次数 
230    //System.out.println(StringUtils.repeat("ba", 3)); 
231    //复制参数一的字符串,参数三为复制的次数。参数二为复制字符串中间的连接字符串 
232    //System.out.println(StringUtils.repeat("ab", "ou", 3)); 
233    //如何字符串长度小于参数二的值,末尾加空格补全。(小于字符串长度不处理返回) 
234    //System.out.println(StringUtils.rightPad("海川", 4)); 
235    //字符串长度小于二参数,末尾用参数三补上,多于的截取(截取补上的字符串) 
236    //System.out.println(StringUtils.rightPad("海川", 4, "河流啊")); 
237    //同上在前面补全空格 
238    //System.out.println(StringUtils.leftPad("海川", 4)); 
239    //字符串长度小于二参数,前面用参数三补上,多于的截取(截取补上的字符串) 
240    //System.out.println(StringUtils.leftPad("海川", 4, "大家好")); 
241    //字符串长度小于二参数。在两侧用空格平均补全(测试后面补空格优先) 
242    //System.out.println(StringUtils.center("海川", 3)); 
243    //字符串长度小于二参数。在两侧用三参数的字符串平均补全(测试后面补空格优先) 
244    //System.out.println(StringUtils.center("海川", 5, "流")); 
245    //只显示指定数量(二参数)的字符,后面以三个点补充(参数一截取+三个点=二参数) 
246    //System.out.println(StringUtils.abbreviate("中华人民共和国", 5)); 
247    //2头加点这个有点乱。本例结果: ...ijklmno 
248    //System.out.println(StringUtils.abbreviate("abcdefghijklmno", 12, 10)); 
249    //保留指定长度,最后一个字符前加点.本例结果: ab.f 
250    //System.out.println(StringUtils.abbreviateMiddle("abcdef", ".", 4)); 
251    //转换,刷选~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
252    //转换第一个字符为大写.如何第一个字符是大写原始返回 
253    //System.out.println(StringUtils.capitalize("Ddf")); 
254    //转换第一个字符为大写.如何第一个字符是大写原始返回 
255    //System.out.println(StringUtils.uncapitalize("DTf")); 
256    //反向转换,大写变小写,小写变大写 
257    //System.out.println(StringUtils.swapCase("I am Jiang, Hello")); 
258    //将字符串倒序排列 
259    //System.out.println(StringUtils.reverse("中国人民")); 
260    //根据特定字符(二参数)分隔进行反转 
261    //System.out.println(StringUtils.reverseDelimited("中:国:人民", ':')); 
262} 

 

转自:http://hi.baidu.com/xgmlucky/item/504b95430f5f9316886d10c3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值