1. StringUtils介绍:

StringUtils是apache commons lang库(http://commons.apache.org/proper/commons-lang/download_lang.cgi)旗下的一个工具类,提供了很多有用的处理字符串的方法。

 关于StringUtils方法全集,可以看看这篇博客:http://blog.sina.com.cn/s/blog_4550f3ca0100qrsd.html

2. 这里我们主要介绍StringUtils常用的方法,如下:

(1)新建一个Java工程,如下:

(2)来到代码中,如下:

 package com.himi.stringutils;

 import org.apache.commons.lang3.StringUtils;

 /**
* StringUtils常用方法
*
* @author hebao
*
*/
public class StringUtilsTest {
public static void main(String[] args) { /**
* 检查字符串是否为空:
* static boolean isEmpty(CharSequence cs):判断字符串是否为空或null;
* static boolean isNotEmpty(CharSequence str):判断字符串是否非空或非null;
*
* static boolean isBlank(CharSequence str):判断字符串是否为空或null;
* static boolean isNotBlank(CharSequence str):判断字符串是否非空或非null;
*/
String str = "happy";
System.out.println(StringUtils.isEmpty(str));//false
System.out.println(StringUtils.isNotEmpty(str));//true
System.out.println(StringUtils.isBlank(str));//false
System.out.println(StringUtils.isNotBlank(str));//true /**
* 清除字符串首尾空白字符:
* static String trim(String str):清除掉str首尾的空白字符,str为空或者清除之后为空,return null
* static String trimToEmpty(String str):清除掉str首尾的空白字符,str为空或者清除之后为空,return ""
* static String trimToNull(String str):清除掉str首尾的空白字符,str为空或者清除之后为空,return ""
*
* static String strip(String str):清除掉str首尾的空白字符
* static String strip(String str, String stripChars): 去掉 str 两端的在 stripChars中的字符
* static String[] stripAll(String... strs):删除字符串数组strs中所有字符串元素首尾的空白字符
* static String[] stripAll(String[] strs, String stripChars):去掉字符串数组strs中所有字符串元素首尾在 stripChars中的字符
*
* static String stripEnd(String str, String stripChars):去掉 str末尾的在 stripChars中的字符
* static String stripStart(String str, String stripChars):去掉 str首部的在 stripChars中的字符
*/
String str1 = " !@ha32@@@prry! @$$ ";
String str2 = "ab23323232baewuyacb";
String[] strs1 = new String[] {" abc ","aecwver89ewfac",
"123321fsgreg"," 214g5499 0efw@#32"};
System.out.println(StringUtils.trim(str1));//!@ha32@@@prry! @$$
System.out.println(StringUtils.trimToEmpty(str1));//!@ha32@@@prry! @$$
System.out.println(StringUtils.trimToNull(str1));//!@ha32@@@prry! @$$ System.out.println(StringUtils.strip(str1));//!@ha32@@@prry! @$$
System.out.println(StringUtils.strip(str2,"abc"));//23323232baewuy //[abc,aecwver89ewfac,123321fsgreg,214g5499 0efw@#32]
System.out.println(printArray(StringUtils.stripAll(strs1)));
//[,ecwver89ewf,fsgreg,4g5499 0efw@#]
System.out.println(printArray(StringUtils.stripAll(strs1," abc123"))); //ab23323232baewuy
System.out.println(StringUtils.stripEnd(str2,"abc123"));
//ewuyacb
System.out.println(StringUtils.stripStart(str2,"abc123")); /**
* 查找字符串是否包含其他字符:
*
* 查找字符串seq中是否包含字符串searchSeq
* static boolean contains(CharSequence seq, CharSequence searchSeq)
* 查找字符串seq中是否包含字符searchChar
* static boolean contains(CharSequence seq, int searchChar)
*
* 查找字符串seq中是否包含任何在字符数组searchChars中的字符
* static boolean containsAny(CharSequence cs, char... searchChars)
* 查找字符串seq中是否包含任何在字符串数组searchChars中的字符串
* static boolean containsAny(CharSequence cs, CharSequence... searchCharSequences)
* 查找字符串seq中是否包含字符串searchChars
* static boolean containsAny(CharSequence cs, CharSequence searchChars)
*
* 查找字符串seq中是否包含字符串searchChars,忽略大小写
* static boolean containsIgnoreCase(CharSequence str, CharSequence searchStr)
*
* 查找字符串cs中是否不包含任何在字符数组searchChars中的字符
* static boolean containsNone(CharSequence cs, char... searchChars)
* 查找字符串cs中是否不包含特定字符invalidChars(不能包含invalidChars任何字符)
* static boolean containsNone(CharSequence cs, String invalidChars)
*
* 查找字符串cs中是否只是由字符数组valid中的字符组成的(不一定用到所有字符)
* static boolean containsOnly(CharSequence cs, char... valid)
* static boolean containsOnly(CharSequence cs, String validChars)
*
* 查找字符串seq是否包含空格字符
* static boolean containsWhitespace(CharSequence seq)
*/ /**
* 比较两个字符串的不同:
* static String difference(String str1,String str2):
* 返回值:the portion of str2 where it differs from str1;
*/
System.out.println(StringUtils.difference("", "abc"));//abc
System.out.println(StringUtils.difference("ab", "abxyz"));//xyz
System.out.println(StringUtils.difference("abcde", "xyz"));//xyz /**
* 删除字符串中的所有空格:
* static String deleteWhitespace(String str)
*/
//0wfewfefwff88few
System.out.println(StringUtils.deleteWhitespace(" 0wfewf efwff88 few ")); /**
* 判断字符串的前缀:
* static boolean startsWith(CharSequence str, CharSequence prefix)
* static boolean startsWithAny(CharSequence string, CharSequence... searchStrings)
* static boolean startsWithIgnoreCase(CharSequence str, CharSequence prefix)
*/
System.out.println(StringUtils.startsWith("Img01.jpg","Img"));//true
System.out.println(StringUtils.startsWithAny("abcxyz",
new String[] {null, "xyz", "abc"}));//true /**
* 判断字符串的后缀:
* static boolean endsWith(CharSequence str, CharSequence suffix)
* static boolean endsWithAny(CharSequence string, CharSequence... searchStrings)
* static boolean endsWithIgnoreCase(CharSequence str, CharSequence suffix)
*/
System.out.println(StringUtils.endsWith("fly.mp4",".mp4"));//true
System.out.println(StringUtils.endsWithAny("abcxyz", new String[] {""}));//true
System.out.println(StringUtils.endsWithAny("abcxyz",
new String[] {null, "xyz", "abc"}));//true
System.out.println(StringUtils.endsWith("fly.mp4",".MP4"));//false /**
* 判断两个字符串的是否相等:
* static boolean equals(CharSequence cs1, CharSequence cs2)
* static boolean equalsIgnoreCase(CharSequence str1, CharSequence str2)
*/
System.out.println(StringUtils.equals("AaBbCcDd","aabbccdd"));//false
System.out.println(StringUtils.equalsIgnoreCase("AaBbCcDd","aabbccdd"));//true /**
* 字符串的索引:
* static int indexOf(CharSequence seq, CharSequence searchSeq)
* static int indexOf(CharSequence seq, CharSequence searchSeq, int startPos)
* static int indexOf(CharSequence seq, int searchChar)
* static int indexOf(CharSequence seq, int searchChar, int startPos)
*
* 搜索特定字符串在目标字符串CharSequence中首次出现的索引
* static int indexOfAny(CharSequence cs, char... searchChars)
* static int indexOfAny(CharSequence str, CharSequence... searchStrs)
* static int indexOfAny(CharSequence cs, String searchChars)
*
* static int indexOfIgnoreCase(CharSequence str, CharSequence searchStr)
* static int indexOfIgnoreCase(CharSequence str, CharSequence searchStr, int startPos)
*
*/
System.out.println(StringUtils.indexOf("abcdefg123rg","fg"));//
System.out.println(StringUtils.indexOf("abcdefg123rg",'e'));//4
//System.out.println(StringUtils.indexOfAny("zzabyycdxx", "za"));//
System.out.println(StringUtils.indexOfAny("zzabyycdxx", "ab"));//
System.out.println(StringUtils.indexOfIgnoreCase("zzabyycdxx", "ZA"));// /**
* 检查字符串是否全是大写或者小写字符组成:
* static boolean isAllLowerCase(CharSequence cs)
* static boolean isAllUpperCase(CharSequence cs)
*/
System.out.println(StringUtils.isAllUpperCase("ABCDEFG"));//true
System.out.println(StringUtils.isAllLowerCase("AbCdEfG"));//false /**
* 检查字符串是否是字符、字母、字母和数字组成的:
* isAlpha(CharSequence cs)
* isNumeric(CharSequence cs)
* isAlphanumeric(CharSequence cs)
*/
System.out.println(StringUtils.isAlpha("Afdasfdsf"));//true
System.out.println(StringUtils.isNumeric("Afdasfdsf123123"));//false
System.out.println(StringUtils.isAlphanumeric("Afdasfdsf123123"));//true /**
* 方法用于把数组中的所有元素放入一个字符串。 元素是通过指定的分隔符进行分隔的:
* static String join(byte[] array, char separator)
* static String join(byte[] array, char separator, int startIndex, int endIndex)
* static String join(char[] array, char separator)
* static String join(char[] array, char separator, int startIndex, int endIndex)
* static String join(double[] array, char separator)
* static String join(double[] array, char separator, int startIndex, int endIndex)
* ....
* static String join(Object[] array, char separator)
* static String join(Object[] array, char separator, int startIndex, int endIndex)
* static String join(Object[] array, String separator)
* static String join(Object[] array, String separator, int startIndex, int endIndex)
*
*/
//ab;bde;23fe
System.out.println(StringUtils.join(new String[]{"ab","bde","23fe"}, ';'));
//12.45&23.4&45.3
System.out.println(StringUtils.join(new float[]{12.45f,23.4f,45.3f}, '&')); /**
* 去除字符串中特定字符 或者 字符串:
* static String remove(String str, char remove)
* static String remove(String str, String remove)
*
* 如果str字符串末尾是remove字符串,就删除str末尾的remove,否则返回str
* static String removeEnd(String str, String remove)
* static String removeEndIgnoreCase(String str, String remove)
*
* 如果str字符串开始是remove字符串,就删除str开始的remove,否则返回str
* static String removeStart(String str, String remove)
* static String removeStartIgnoreCase(String str, String remove)
*/
//www.domain.com
System.out.println(StringUtils.removeStart("www.domain.com", "domain"));
//domain.com
System.out.println(StringUtils.removeStart("www.domain.com", "www."));
//www.domain.com
System.out.println(StringUtils.removeEnd("www.domain.com", "domain"));
//www.domain
System.out.println(StringUtils.removeEnd("www.domain.com", ".com")); /**
* 重复字符串次数:
* static String repeat(char ch, int repeat)
* static String repeat(String str, int repeat)
*/
//LoveLoveLove
System.out.println(StringUtils.repeat("Love", 3)); /**
* 字符串替换:
* static String replace(String text, String searchString, String replacement)
* 参数解析:
* text---搜索的文本
* searchString---在text文本中搜索的目标字符串searchString
* replacement---用来替换searchString
*
* static String replace(String text, String searchString, String replacement, int max)
* static String replaceChars(String str, char searchChar, char replaceChar)
* static String replaceChars(String str, String searchChars, String replaceChars)
*/
//I ♥ YinChang
System.out.println(StringUtils.replace("I Love YinChang", "Love","♥")); /**
* 字符串的反转:
* static String reverse(String str)
*
*/
//I Love YinChang
System.out.println(StringUtils.reverse("gnahCniY evoL I")); /**
* 字符串分割成字符串数组:
* static String[] split(String str)//默认使用空格作为分离标记
* static String[] split(String str, char separatorChar)
* static String[] split(String str, String separatorChars)
*/
//[HeBao,is,Good,Boy]
System.out.println(printArray(StringUtils.split("HeBao is Good Boy")));
//[HeBao,is,Good,Boy]
System.out.println(printArray(StringUtils.split("HeBao#@is#@Good#@Boy","#@"))); /**
* 切割字符串:
* static String substring(String str, int start)
*
* start<= X <end
* static String substring(String str, int start, int end)
*
*
* static String substringAfter(String str, String separator)
* 截取str中最后出现的分离符separator后面的字符串
* static String substringAfterLast(String str, String separator)
*
*
* static String substringBefore(String str, String separator)
* 截取str中最后出现的分离符separator前面的字符串
* static String substringBeforeLast(String str, String separator)
*
*
* static String substringBetween(String str, String tag)
* static String substringBetween(String str, String open, String close)
* static String substringsBetween(String str, String open, String close)
*/
//Love
System.out.println(StringUtils.substring("hebaoLove",5));
//hebao
System.out.println(StringUtils.substring("hebaoLove",0,5)); //Love
System.out.println(StringUtils.substringAfter("hebaoLove","o"));
//ve
System.out.println(StringUtils.substringAfterLast("hebaoLove","o")); //abc
System.out.println(StringUtils.substringBetween("tagabctag", "tag"));
//abc
System.out.println(StringUtils.substringBetween("yabczyabcz", "y", "z"));
} public static String printArray(String[] strs) {
StringBuffer sb = new StringBuffer();
sb.append("[");
for(int i=0; i<strs.length; i++) {
if(i==strs.length-1) {
sb.append(strs[i]+"]");
break;
}
sb.append(strs[i]+",");
} return sb.toString(); } }

最新文章

  1. “error LNK2019: 无法解析的外部符号”之分析
  2. xcoj1062
  3. 随机抽样一致性算法(RANSAC)示例及源代码
  4. DP走方格型
  5. Linux 串口使用
  6. LA3027 合作网络-并查集压缩路径
  7. EF 更新指定的字段
  8. linux删除、读取文件原理
  9. C获取本地时间的localtime函数
  10. Delphi 3D Glscene安装
  11. 制作U盘启动CDLinux
  12. Django 执行单独脚本及SyntaxError缩进报错解决
  13. SpringMVC核心接口
  14. JQuery 基本知识,选择器,事件,DOM操作
  15. 3:JavaBean,EJB,POJO
  16. LOJ#6049. 「雅礼集训 2017 Day10」拍苍蝇(计算几何+bitset)
  17. 【前端学习笔记】JavaScript 常用方法兼容性封装
  18. php5.4.0以后加入trait实现代码复用【摘录】
  19. Python Tkinter编程
  20. 机器学习三剑客之Pandas

热门文章

  1. 安装glibc2.7
  2. c++字符串机理
  3. 实现jsp网站添加到收藏夹
  4. 数据库:mongodb与关系型数据库相比的优缺点
  5. Spring REST实践之客户端和测试
  6. android Notification和NotificationManager的使用
  7. css3 前缀
  8. springmvc中forward和redirect
  9. The J1850 Core
  10. nslookup 查询IPv6