3.基于ApacheCommons的字符串操作

java开发中最常见的就是字符串操作,如何简单处理字符串是编程开发中首先要考虑的问题。
Apache提供了一个jar包,apache-commons,来处理对应的字符串,常用的方法有以下部分:

  • 判断是否为空(null或者“”)
  • 如果为空替换成对应的字符串
  • 字符串比较
  • 拆分字符串
  • 拼接字符串
  • 移除结尾字符为"\n", "\r", 或者 "\r\n"
  • 转换第一个字符为大写

代码参见:com.critc.StringUtilTest

public static void main(String[] args) {
        //判断字符串是否为null或""
        System.out.println(StringUtils.isEmpty("123"));
        //判断是否不为null或""
        System.out.println(StringUtils.isNotEmpty(""));

        //判断是否为空
        System.out.println(StringUtils.isBlank(""));
        //判断是否不为空
        System.out.println(StringUtils.isNotBlank(""));

        //判断当前字符串为null时替换成什么,""不替换
        System.out.println(StringUtils.defaultString(null, "defaultStr"));
        //判断当前字符串为null或“”时替换成什么
        System.out.println(StringUtils.defaultIfEmpty("", "defaultStr2"));

        //字符串比较
        System.out.println(StringUtils.equalsIgnoreCase("abc", "ABc"));

        //判断是否是数字
        System.out.println(StringUtils.isNumeric("123"));

        //拆分字符串
        String str[] = StringUtils.split("中华 人民   共和 ", " ");
        for (int i = 0; i < str.length; i++) {
            System.out.println(str[i]);
        }
        String str2[] = StringUtils.splitByWholeSeparatorPreserveAllTokens("中华 人民   共和 ", " ");
        for (int i = 0; i < str2.length; i++) {
            System.out.println("被忽略:" + str2[i]);
        }

        String str6[] = "中华 人民   共和 ".split(" ", -1);
        for (String s : str6)
            System.out.println("JDK拆分:" + s);

        //拼接字符串
        String[] str3 = new String[]{"12", "34"};
        System.out.println(StringUtils.join(str3, ","));

        //移除结尾字符为"\n", "\r", 或者 "\r\n".
        System.out.println(StringUtils.chomp("abcrabc\r"));

        //转换第一个字符为大写.如何第一个字符是大写原始返回
        System.out.println(StringUtils.capitalize("ddf"));

    }

** 需要强调的是,split里面会包含空字符串,这里面就需要用splitByWholeSeparatorPreserveAllTokens这个方法,稍微复杂一些,不然开发中会遇到意想不到的问题。
**

源码下载

本例子详细源码

你可能感兴趣的:(3.基于ApacheCommons的字符串操作)