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这个方法,稍微复杂一些,不然开发中会遇到意想不到的问题。
**