zoukankan      html  css  js  c++  java
  • 关于apache下的一个StringUtils工具类的介绍

    1. import java.util.Arrays;  
    2.   
    3. import org.apache.commons.lang.StringUtils;  
    4.   
    5.   
    6. public class Test {  
    7.   
    8.  /** 
    9.   * @param args 
    10.   */  
    11.  public static void main(String[] args) {  
    12.   //判断是否Null 或者 ""  
    13.   System.out.println(StringUtils.isEmpty(null));  
    14.   System.out.println(StringUtils.isNotEmpty(null));  
    15.   //判断是否null 或者 "" 去空格~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    16.   System.out.println(StringUtils.isBlank("  "));  
    17.   System.out.println(StringUtils.isNotBlank(null));  
    18.   //去空格.Null返回null~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    19.   System.out.println(StringUtils.trim(null));  
    20.   //去空格,将Null和"" 转换为Null  
    21.   System.out.println(StringUtils.trimToNull(""));  
    22.   //去空格,将NULL 和 "" 转换为""  
    23.   System.out.println(StringUtils.trimToEmpty(null));  
    24.   //可能是对特殊空格符号去除??  
    25.   System.out.println(StringUtils.strip("大家好  啊   "));  
    26.   //同上,将""和null转换为Null  
    27.   System.out.println(StringUtils.stripToNull("  "));  
    28.   //同上,将""和null转换为""  
    29.   System.out.println(StringUtils.stripToEmpty(null));  
    30.   //将""或者Null 转换为 ""  
    31.   System.out.println(StringUtils.defaultString(null));  
    32.   //仅当字符串为Null时 转换为指定的字符串(二参数)  
    33.   System.out.println(StringUtils.defaultString("", "df"));  
    34.   //当字符串为null或者""时,转换为指定的字符串(二参数)  
    35.   System.out.println(StringUtils.defaultIfEmpty(null, "sos"));  
    36.   //去空格.去字符~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    37.   //如果第二个参数为null去空格(否则去掉字符串2边一样的字符,到不一样为止)  
    38.   System.out.println(StringUtils.strip("fsfsdf", "f"));  
    39.   //如果第二个参数为null只去前面空格(否则去掉字符串前面一样的字符,到不一样为止)  
    40.   System.out.println(StringUtils.stripStart("ddsuuu ", "d"));  
    41.   //如果第二个参数为null只去后面空格,(否则去掉字符串后面一样的字符,到不一样为止)  
    42.   System.out.println(StringUtils.stripEnd("dabads", "das"));  
    43.   //对数组没个字符串进行去空格。  
    44.   ArrayToList(StringUtils.stripAll(new String[]{" 中华 ", "民 国 ", "共和 "}));  
    45.   //如果第二个参数为null.对数组每个字符串进行去空格。(否则去掉数组每个元素开始和结尾一样的字符)  
    46.   ArrayToList(StringUtils.stripAll(new String[]{" 中华 ", "民 国", "国共和国"}, "国"));  
    47.   //查找,判断~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    48.   //判断2个字符串是否相等相等,Null也相等  
    49.   System.out.println(StringUtils.equals(null, null));  
    50.   //不区分大小写比较  
    51.   System.out.println(StringUtils.equalsIgnoreCase("abc", "ABc"));  
    52.   //查找,不知道怎么弄这么多查找,很多不知道区别在哪?费劲~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    53.   //普通查找字符,如果一参数为null或者""返回-1  
    54.   System.out.println(StringUtils.indexOf(null, "a"));  
    55.   //从指定位置(三参数)开始查找,本例从第2个字符开始查找k字符  
    56.   System.out.println(StringUtils.indexOf("akfekcd中华", "k", 2));  
    57.   //未发现不同之处  
    58.   System.out.println(StringUtils.ordinalIndexOf("akfekcd中华", "k", 2));  
    59.   //从后往前查找  
    60.   System.out.println(StringUtils.lastIndexOf("adfas", "a"));  
    61.   //未理解,此结果为2  
    62.   System.out.println(StringUtils.lastIndexOf("d饿abasdafs我", "a", 3));  
    63.   //检查是否查到,返回boolean,null返回假  
    64.   System.out.println(StringUtils.contains("sdf", "dg"));  
    65.   //查询字符串跟数组任一元素相同的第一次相同的位置  
    66.   System.out.println(StringUtils.indexOfAny("absfekf", new String[]{"f", "b"}));  
    67.   //查询字符串中指定字符串(参数二)出现的次数  
    68.   System.out.println(StringUtils.indexOfAny("afefes", "e"));  
    69.   //未解  
    70.   System.out.println(StringUtils.indexOfAnyBut("seefaff", "af"));  
    71.   //判断字符串中所有字符,都是出自参数二中。  
    72.   System.out.println(StringUtils.containsOnly("中华华", "华"));  
    73.   //判断字符串中所有字符,都是出自参数二的数组中。  
    74.   System.out.println(StringUtils.containsOnly("中华中", new char[]{'中', '华'}));  
    75.   //判断字符串中所有字符,都不在参数二中。  
    76.   System.out.println(StringUtils.containsNone("中华华", "国"));  
    77.   //判断字符串中所有字符,都不在参数二的数组中。  
    78.   System.out.println(StringUtils.containsNone("中华中", new char[]{'中', '达'}));  
    79.   //从后往前查找字符串中与字符数组中相同的元素第一次出现的位置。本例为4  
    80.   System.out.println(StringUtils.lastIndexOfAny("中国人民共和国", new String[]{"国人", "共和"}));  
    81.   //未发现与indexOfAny不同之处  查询字符串中指定字符串(参数二)出现的次数  
    82.   System.out.println(StringUtils.countMatches("中国人民共和中国", "中国"));  
    83.   //检查是否CharSequence的只包含Unicode的字母。空将返回false。一个空的CharSequence(长()= 0)将返回true  
    84.   System.out.println(StringUtils.isAlpha("这是干什么的2"));  
    85.   //检查是否只包含Unicode的CharSequence的字母和空格('')。空将返回一个空的CharSequence假(长()= 0)将返回true。  
    86.   System.out.println(StringUtils.isAlphaSpace("NBA直播 "));  
    87.   //检查是否只包含Unicode的CharSequence的字母或数字。空将返回false。一个空的CharSequence(长()= 0)将返回true。  
    88.   System.out.println(StringUtils.isAlphanumeric("NBA直播"));  
    89.   //如果检查的Unicode CharSequence的只包含字母,数字或空格('')。空将返回false。一个空的CharSequence(长()= 0)将返回true。  
    90.   System.out.println(StringUtils.isAlphanumericSpace("NBA直播"));  
    91.   //检查是否只包含ASCII可CharSequence的字符。空将返回false。一个空的CharSequence(长()= 0)将返回true。  
    92.   System.out.println(StringUtils.isAsciiPrintable("NBA直播"));  
    93.   //检查是否只包含数值。  
    94.   System.out.println(StringUtils.isNumeric("NBA直播"));  
    95.   //检查是否只包含数值或者空格  
    96.   System.out.println(StringUtils.isNumericSpace("33 545"));  
    97.   //检查是否只是空格或""。  
    98.   System.out.println(StringUtils.isWhitespace(" "));  
    99.   //交集操作~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    100.   //去掉参数2字符串中在参数一中开头部分共有的部分,结果为:人民共和加油  
    101.   System.out.println(StringUtils.difference("中国加油", "中国人民共和加油"));  
    102.   //统计2个字符串开始部分共有的字符个数  
    103.   System.out.println(StringUtils.indexOfDifference("ww.taobao", "www.taobao.com"));  
    104.   //统计参数一中每个字符与参数二中每个字符不同部分的字符个数  
    105.   System.out.println(StringUtils.getLevenshteinDistance("中国共和发国人民", "共和国"));  
    106.   //字符串截取~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    107.   //截取指定位置的字符,null返回null.""返回""  
    108.   System.out.println(StringUtils.substring("国民党", 2));  
    109.   //截取指定区间的字符  
    110.   System.out.println(StringUtils.substring("中国人民共和国", 2, 4));  
    111.   //从左截取指定长度的字符串  
    112.   System.out.println(StringUtils.left("说点什么好呢", 3));  
    113.   //从右截取指定长度的字符串  
    114.   System.out.println(StringUtils.right("说点什么好呢", 3));  
    115.   //从第几个开始截取,三参数表示截取的长度  
    116.   System.out.println(StringUtils.mid("说点什么好呢", 3, 2));  
    117.   //截取到等于第二个参数的字符串为止  
    118.   System.out.println(StringUtils.substringBefore("说点什么好呢", "好"));  
    119.   //从左往右查到相等的字符开始,保留后边的,不包含等于的字符。本例:什么好呢  
    120.   System.out.println(StringUtils.substringAfter("说点什么好呢", "点"));  
    121.   //这个也是截取到相等的字符,但是是从右往左.本例结果:说点什么好  
    122.   System.out.println(StringUtils.substringBeforeLast("说点什么好点呢", "点"));  
    123.   //这个截取同上是从右往左。但是保留右边的字符  
    124.   System.out.println(StringUtils.substringAfterLast("说点什么好点呢?", "点"));  
    125.   //截取查找到第一次的位置,和第二次的位置中间的字符。如果没找到第二个返回null。本例结果:2010世界杯在  
    126.   System.out.println(StringUtils.substringBetween("南非2010世界杯在南非,在南非", "南非"));  
    127.   //分割~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    128.   //用空格分割成数组,null为null  
    129.   ArrayToList(StringUtils.split("中华 人民  共和"));  
    130.   //以指定字符分割成数组  
    131.   ArrayToList(StringUtils.split("中华 ,人民,共和", ","));  
    132.   //以指定字符分割成数组,第三个参数表示分隔成数组的长度,如果为0全体分割  
    133.   ArrayToList(StringUtils.split("中华 :人民:共和", ":", 2));  
    134.   //未发现不同的地方,指定字符分割成数组  
    135.   ArrayToList(StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-"));  
    136.   //未发现不同的地方,以指定字符分割成数组,第三个参数表示分隔成数组的长度  
    137.   ArrayToList(StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-", 2));  
    138.   //未发现不同地方,分割  
    139.   ArrayToList(StringUtils.splitPreserveAllTokens(" ab   de fg "));  
    140.   //未发现不同地方,指定字符分割成数组  
    141.   ArrayToList(StringUtils.splitPreserveAllTokens(" ab   de fg ", null));  
    142.   //未发现不同地方,以指定字符分割成数组,第三个参数表示分隔成数组的长度  
    143.   ArrayToList(StringUtils.splitPreserveAllTokens(" ab   de fg ", null, 2));  
    144.   //移除,删除~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    145.   //删除所有空格符  
    146.   System.out.println(StringUtils.deleteWhitespace(" s 中 你 4j"));  
    147.   //移除开始部分的相同的字符  
    148.   System.out.println(StringUtils.removeStart("www.baidu.com", "www."));  
    149.   //移除后面相同的部分  
    150.   System.out.println(StringUtils.removeEnd("www.baidu.com", ".com"));  
    151.   //移除所有相同的部分  
    152.   System.out.println(StringUtils.remove("www.baidu.com/baidu", "bai"));  
    153.   //移除结尾字符为" ", " ", 或者 " ".  
    154.   System.out.println(StringUtils.chomp("abcrabc "));  
    155.   //也是移除,未解。去结尾相同字符  
    156.   System.out.println(StringUtils.chomp("baidu.com", "com"));  
    157.   //去掉末尾最后一个字符.如果是" ", " ", 或者 " "也去除  
    158.   System.out.println(StringUtils.chop("wwe.baidu"));  
    159.   //替换~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    160.   //替换指定的字符,只替换第一次出现的  
    161.   System.out.println(StringUtils.replaceOnce("www.baidu.com/baidu", "baidu", "hao123"));  
    162.   //替换所有出现过的字符  
    163.   System.out.println(StringUtils.replace("www.baidu.com/baidu", "baidu", "hao123"));  
    164.   //也是替换,最后一个参数表示替换几个  
    165.   System.out.println(StringUtils.replace("www.baidu.com/baidu", "baidu", "hao123", 1));  
    166.   //这个有意识,二三参数对应的数组,查找二参数数组一样的值,替换三参数对应数组的值。本例:baidu替换为taobao。com替换为net  
    167.   //这个更好,不是数组对应,是字符串参数二和参数三对应替换.(二三参数不对应的话,自己看后果)  
    168.   System.out.println(StringUtils.replaceChars("www.baidu.com", "bdm", "qo"));  
    169.   //替换指定开始(参数三)和结束(参数四)中间的所有字符  
    170.   System.out.println(StringUtils.overlay("www.baidu.com", "hao123", 4, 9));  
    171.   //添加,增加~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    172.   //复制参数一的字符串,参数二为复制的次数  
    173.   System.out.println(StringUtils.repeat("ba", 3));  
    174.   //如何字符串长度小于参数二的值,末尾加空格补全。(小于字符串长度不处理返回)  
    175.   System.out.println(StringUtils.rightPad("海川", 4));  
    176.   //字符串长度小于二参数,末尾用参数三补上,多于的截取(截取补上的字符串)  
    177.   System.out.println(StringUtils.rightPad("海川", 4, "河流啊"));  
    178.   //同上在前面补全空格  
    179.   System.out.println(StringUtils.leftPad("海川", 4));  
    180.   //字符串长度小于二参数,前面用参数三补上,多于的截取(截取补上的字符串)  
    181.   System.out.println(StringUtils.leftPad("海川", 4, "大家好"));  
    182.   //字符串长度小于二参数。在两侧用空格平均补全(测试后面补空格优先)  
    183.   System.out.println(StringUtils.center("海川", 3));  
    184.   //字符串长度小于二参数。在两侧用三参数的字符串平均补全(测试后面补空格优先)  
    185.   System.out.println(StringUtils.center("海川", 5, "流"));  
    186.   //只显示指定数量(二参数)的字符,后面以三个点补充(参数一截取+三个点=二参数)  
    187.   System.out.println(StringUtils.abbreviate("中华人民共和国", 5));  
    188.   //2头加点这个有点乱。本例结果: ...ijklmno  
    189.   System.out.println(StringUtils.abbreviate("abcdefghijklmno", 12, 10));  
    190.   //转换,刷选~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    191.   //转换第一个字符为大写.如何第一个字符是大写原始返回  
    192.   System.out.println(StringUtils.capitalize("Ddf"));  
    193.   //转换第一个字符为大写.如何第一个字符是大写原始返回  
    194.   System.out.println(StringUtils.uncapitalize("DTf"));  
    195.   //反向转换,大写变小写,小写变大写  
    196.   System.out.println(StringUtils.swapCase("I am Jiang, Hello"));  
    197.   //将字符串倒序排列  
    198.   System.out.println(StringUtils.reverse("中国人民"));  
    199.   //根据特定字符(二参数)分隔进行反转  
    200.   System.out.println(StringUtils.reverseDelimited("中:国:人民", ':'));  
    201.  }  
    202.   
    203.  //将数组转换为List  
    204.  private static void ArrayToList(String[] str){  
    205.      System.out.println(Arrays.asList(str) + " 长度:" + str.length);  
    206.  }  
  • 相关阅读:
    [.net 面向对象编程基础] (13) 重构
    [.net 面向对象编程基础] (12) 面向对象三大特性——多态
    [.net 面向对象编程基础] (11) 面向对象三大特性——继承
    [.net 面向对象编程基础] (10) 面向对象三大特性——封装
    [.net 面向对象编程基础] (9) 类的成员(字段、属性、方法)
    [.net 面向对象编程基础] (8) 类和类的实例
    [.net 面向对象编程基础] (7) 基础中的基础——修饰符
    反向代理和正向代理区别
    Vue的路由及静态路由和动态路由的区别
    一次性讲明白vue插槽slot
  • 原文地址:https://www.cnblogs.com/smallfa/p/8446865.html
Copyright © 2011-2022 走看看