StringUtils使用介绍

简介

  • 在Apache Commons包中,有两个StringUtils类,一个是org.apache.commons.lang.StringUtils(Commons Lang 2.x API),另外一个是 org.apache.commons.lang3.StrinUtils(Commons Lang 3.1x API及以后版本),我们这里讨论的是最新的版本。StringUtils中所有成员都是static的,所以我们不用自己手动创建对象,直接通过类名就可以调用了。

StringUtils属性

  • ​static String CR​​​: 回车字符​​\r​
  • ​static String EMPTY​​​: 空字符串​​""​
  • ​static int INDEX_NOT_FOUND​​:索引搜索失败 -1
  • ​static String LF​​​: 换行字符 ​​\n​
  • ​static String SPACE​​:空格字符

StringUtils方法摘要

  • ​static String abbreviate(String str,int offset,int maxWidth)​​:
  • 该方法将通过省略号简写str,offset是可选的参数,maxWidth是最后字符串的长度,不能太小,如果小于4的话将会抛出异常(省略号是三个)。
  • ​static String abbreviateMiddle(String str,String middle,int length)​​:
  • 该方法是将str中间的字符用指定的middle字符替代,length是最后所得的字符长度。
  • static String appendIfMissing(String str,CharSequence suffix,CharSequence... suffixes):
  • 该方法是如果str末尾缺少了给定的后缀suffixes,那么自动在str后面添加上后缀suffix。同理还有prependIfMissing(String str,CharSequence prefix,CharSequence... prefixes)给字符添加前缀。
  • static String center(String str,int Size,char padChar):
  • 该方法将扩大字符串的长度,如果str的长度小于给定的Size,那么将把str放在新的字符串中间,并在左右用padChar填充,同理还有但对对左或右进行填充的leftPad(String str,int size,char padChar)或rightPad(String str,int size,char padChar)。
  • ​static String chomp(String str)​​:
  • 该方法从str的末尾删除一个换行字符,如果存在换行字符存在的话,换行字符包括 ​​\n​​、​​\r​​、​​\r\n​​。
  • ​static String chop(String str)​​:
  • 该方法将删除str末尾的一个字符,字符包括 ​​\n​​、​​\r​​、​​\r\n​​或者字母数字等。
  • static boolean contains(CharSequence str,CharSequence searchStr):
  • 该方法将判断str中是否包含searchStr,如果存在则返回true,否则返回false。与之相对的是containsNone(CharSequence cs, char... searchChars)判断是否不包含。
  • ​static String deleteWhitespace(String str)​​:
  • 删除str中的whitespace,whitespace指的是Character.isWhitespace(char)定义的字符。
  • ​static String difference(String str1,String str2)​​:
  • 以str1作为源字符,str2作为比较字符,返回str2不在str1中的字符。
  • static boolean endsWith(CharSequence str,CharSequence suffix):
  • 检查str是否以suffix作为结尾,并返回结果,如果两个str和suffix都为null的话讲返回true。同理还有static boolean startsWith(CharSequence str,CharSequence preffix)检查前缀字符。
  • ​static boolean equals(CharSequence cs1,CharSequence cs2)​​:
  • 该方法比较两个字符序列是否相等
  • ​static String getCommonPrefix(String... strs)​​:
  • 从给定的一个字符串数组中找出公共的前缀。
  • ​static double getJaroWinklerDistance(CharSequence first,CharSequence second)​​:
  • 根据Jaro Winkler算法计算两个序列的相似度。
  • static int getLevenshteinDistance(CharSequence str1,CharSequence str2,int threshold):
  • 如果两个字符串之间的距离小于或等于给定的阈值,则此方法返回Levenshtein值(将一个字符串更改为另一个字符串所需的更改数量,其中每个更改都是单个字符修改)。阈值参数在lang3中是可选的。
  • ​static boolean isAllBlank(final CharSequence... css)​​:
  • 检查多个字符序列是否都是空字符("")、null、或者whitespace(空格、制表符\t、换行符\n、换页符\f和回车符\n )。
  • ​static boolean isAllEmpty(final CharSequence... css)​​:
  • 检查该多个符序列都是空字符("") 或者null。
  • ​static boolean isAlpha(final CharSequence cs)​​:
  • 检查该字符序列是否都是字母
  • ​static boolean isAlphanumeric(final CharSequence cs)​​:
  • 检查该字符序列是否只包含数字或字母。
  • ​static boolean isAlphanumericSpace(final CharSequence cs)​​:
  • 检查该字符学历是否只包含数字、字母或者空格。
  • ​static boolean isAlphaSpace(final CharSequence cs)​​:
  • 检查该字符序列是否只包含字母或空格
  • ​static boolean isBlank(final CharSequence cs)​​:
  • 检查该字符是否都是空字符("")、null、或者whitespace(空格、制表符\t、换行符\n、换页符\f和回车符\n)。
  • ​static boolean isEmpty(final CharSequence cs)​​:
  • 检查该字符空字符("") 或者null。
  • ​static String removeEnd(String str,String remove)​​:
  • 如果源str是以remove字符串结尾的话,则删除,否则返回源str。同理还有​​static String removeStart(String str,String remove)​
  • ​static String repeat(String str,String separator,int repeat)​​:
  • 该方法将str重复repeat次,并用separator隔开(separator是可选的)。
  • ​static String replace(String text,String searchStr,String replacement,int n)​​:
  • 该方法用于将text中的searchStr替换为replacement,从前往后一共替换n次。
  • ​static String reverse(String str)​​:
  • 用于字符串的反转,用的是StringBuilder的reverse()方法。
  • ​static String[] split(String str,String separator,int max)​​:
  • 将给定的字符串str按照separator进行分割,最多分割max次,并返回分割后的数组。
  • ​static String strip(String str,String stripChars)​​:
  • 去掉字符串str前后的stripChars
  • ​static String swapCase(String str)​​:
  • 将字符串str中的大写换成小写,小写换成大写。
  • ​static String trim(String str)​​:
  • 该方法删除str两端的控制字符(char<=32)。