首页 > 代码库 > Apache commons lang工具类学习笔记(2)--StringUtils

Apache commons lang工具类学习笔记(2)--StringUtils

StringUtils工具类具有对String具有简单而强大的处理能力,从检查空串到分割字符串,到生成格式化的字符串,使用都很方便简洁,能减少很多代码量;

 

详细的使用方法可以参考下面的例子或者官方的API(http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/StringUtils.html#isAlpha(java.lang.CharSequence))

package com.senvn.openSource.model;

import java.io.IOException;

import org.apache.commons.lang3.StringUtils;

/**
 * 
 * @author senvn
 * 
 */
public class StringUtilsTest {
    public static void main(String[] args) throws IOException {
        String testStr = "abc123";
        String mailStr = "haitaogao08@126.com";
        String haveBlankStr = "test test@";
        String blankStr = "    ";
        // 判断字符串是否包含指定的字符,需要查询的字符可以为int类型
        System.out.println("---包含@126 字符--:"
                + StringUtils.contains(mailStr, "@126"));
        char[] testStrArray = { ‘k‘, ‘@‘, ‘#‘ };
        // 判断字符串中是否含有任意制定的char
        System.out.println("----包含指定的字符---:"
                + StringUtils.containsAny(mailStr, testStrArray));
        System.out.println("----忽略大小写---:"
                + StringUtils.containsIgnoreCase(mailStr, "HAI"));
        // 判断字符串中是否只包含特定的字符
        System.out.println("----是否只包含特定的字符---:"
                + StringUtils.containsOnly(mailStr, ‘@‘, ‘t‘));
        // 判断字符串中是否包含空格
        System.out.println("----判断字符串中是否包含空格---:"
                + StringUtils.containsWhitespace(haveBlankStr));
        // 判断字符串中是否包含空格
        // endsWithAny判断字符串是否以特定的一些字符结尾
        // endsWithIgnoreCase判定忽略大小写
        System.out.println("----判断字符串中是否以特定字符结尾---:"
                + StringUtils.endsWith(mailStr, ".com"));
        // 判断字符串是否相等
        // equalsIgnoreCase判定忽略大小写
        System.out.println("----判断字符串是否相等---:"
                + StringUtils
                        .equals(mailStr, new String("haitaogao08@126.com")));
        // 判断字符串是否全小写
        // isAllUpperCase判断字符串是否全大写
        System.out.println("----判断字符串是否全大写---:"
                + StringUtils.isAllLowerCase(testStr));
        // TODO Java字符Unicode什么正在研究中……
        System.out.println("----判断字符串字符类型---:" + StringUtils.isAlpha("α"));
        // 判断字符串是否为空
        System.out.println("----判断字符串是否为空---:" + StringUtils.isEmpty(blankStr));
        // isBlank相当于isEmpty(str.trim());
        System.out.println("----判断字符串是否为空---:" + StringUtils.isBlank(blankStr));
        // 判断字符串是否为空
        System.out.println("----判断字符串是否以特定字符开头---:"
                + StringUtils.startsWith(mailStr, "haitao"));
        // 将字符串特定字段用...代替
        System.out.println("将字符串特定字段用...代替:"
                + StringUtils.abbreviate(mailStr, 8));
        // 字符串首字母大写
        // uncapitalize首字母消息
        System.out.println("将字符串特定字段用...代替:" + StringUtils.capitalize(mailStr));
        // 将字符串扩充到特定长度,字符串居中,两边用特定字符填充,默认为""
        System.out.println("字符串扩充到特定长度,字符串居中:"
                + StringUtils.center(testStr, 10, "*"));
        // 移除字符串末尾的"\n", "\r", or "\r\n"
        System.out.print("移除字符串末尾的‘\\n‘, ‘\\r‘, or ‘\\r\n‘"
                + StringUtils.chomp("suio\radia\r\n"));
        // 移除特定字符串最后一个字符
        System.out.println("移除特定字符串最后一个字符:" + StringUtils.chop(mailStr));
        // 显示特定字符在字符串中的数目
        System.out.println("移除特定字符串最后一个字符:"
                + StringUtils.countMatches(mailStr, "o"));
        // 设定默认字符串,如果str为空则返回默认值
        System.out.println("设定默认字符串:" + StringUtils.defaultString(null, "NON"));
        // 删除空格
        System.out.println("删除字符串中的空格:"
                + StringUtils.deleteWhitespace(haveBlankStr));
        // 比较两个字符串,返回不同之处
        System.out.println("删除字符串中的空格:"
                + StringUtils.difference("i am a machine", "i am a robot"));
        // 匹配相似度(值越小,相似度越高)
        System.out
                .println(StringUtils.getLevenshteinDistance("我是大明猩", "我是大明星") > StringUtils
                        .getLevenshteinDistance("我是大明猩", "我是大风车"));
        // 返回特定字符串所在位置
        System.out.println("返回特定字符串所在位置:" + StringUtils.indexOf(mailStr, "@"));
        // 截取字符串
        System.out.println("获取邮箱服务商:"
                + StringUtils.substringBetween(mailStr, "@", "."));
        // 移除特定字符
        System.out.println("移除特定字符:" + StringUtils.strip(haveBlankStr, "@"));
        // 分割字符串
        String[] splitStrs = StringUtils.split(haveBlankStr, " ");
        System.out.print("分割字符串后的字符串:");
        for (String str : splitStrs) {
            System.out.print(str + "\t");
        }
        System.out.println();
        // 删除字符串
        System.out.println("删除字符串:" + StringUtils.remove(mailStr, "@126.com"));
        // 反转字符串
        System.out.println("反转字符串:" + StringUtils.reverse(mailStr));
        // 替换字符串
        System.out.println("替换字符串:" + StringUtils.replace(mailStr, "@", "#"));
        // 字符串截取,取右端特定位数
        System.out.println("替换字符串:" + StringUtils.right(mailStr, 5));
        // 删除字符的指定头部
        System.out.println("替换字符串:"
                + StringUtils.removeStartIgnoreCase(mailStr, "hai"));
        // 重复字符串
        System.out.println("重复字符串:" + StringUtils.repeat("hahaha!", 3));
        // 填充字符串
        System.out.println("填充字符串:" + StringUtils.leftPad("xixixi", 10, "*"));
        String[] joinStrings = { "mokey", "dog", "snake" };
        // 填充字符串
        System.out.println("拼接字符串:" + StringUtils.join(joinStrings, "^_^"));
    }
}