字符串处理高效工具(Java)

在处理string的时候,你可能会遇到null引起的NPE烦恼,本文介绍一些可以安全的处理null问题的工具类(容错性更好),这些方法经过了大量的实践证明,不用自己去重复的创造轮子。
荀子说,人要“善假于物”,人要善于借助工具。正是人的实践和主观能动性,创造了提高效率的工具,这也是人和动物的区别。在字符串处理中,可以使用apache的commons-lang3和guava的相关字符串处理工具。对应的maven如下:(均为发文时的最新版本)。

<dependency>
    <groupId>org.apache.commonsgroupId>
    <artifactId>commons-lang3artifactId>
    <version>3.5version>
dependency>

<dependency>
    <groupId>com.google.guavagroupId>
    <artifactId>guavaartifactId>
    <version>20.0version>
dependency>

其中:commons-lang3的工具可以关注:StringUtils和WordUtils,下文会重点列出StringUtils的方法分类。
guava可以关注:Strings(方法较少)、Joiner和Splitter三个类,Joiner和Splitter的实例可以参考:http://blog.csdn.net/qunzer/article/details/25376633 和http://blog.csdn.net/qunzer/article/details/25368085

commons-lang3中的StringUtils的方法特别多,基本上包括了大部分常用的字符串处理方法;虽然方法较多,但是方法体注释中都有使用说明,下面主要对该类方法进行了分类。(标黑的方法可能会经常用到)

1.判断是否为Empty和Blank的
isEmpty、isNotEmpty、isAnyEmpty、isNoneEmpty
isBlank、isNotBlank、isAnyBlank、isNoneBlank

2.trim
trim、trimToNull、trimToEmpty、truncate
strip、stripToNull、stripToEmpty、stripStart、stripEnd、stripAll、stripAccents

3.类似比较的功能
equals、equalsIgnoreCase
compare、compareIgnoreCase
equalsAny、equalsAnyIgnoreCase
difference、indexOfDifference
getCommonPrefix
getLevenshteinDistance、getJaroWinklerDistance、getFuzzyDistance
matches
startsWithIgnoreCase、startsWith、startsWithAny
endsWith、endsWithAny

4.indexOf
indexOfAny、indexOf、indexOfAnyBut、indexOfAnyBut、ordinalIndexOf
indexOfIgnoreCase、lastIndexOf、lastOrdinalIndexOf、lastIndexOfIgnoreCase

5.contains:
containsIgnoreCase、containsWhitespace、containsAny、containsOnly、containsNone

6.获取部分字符串
left、right、mid
substring、substringBefore、substringAfter、substringBeforeLast、substringAfterLast、substringBetween、substringsBetween

7.拆分和组合,这个可以使用guava的功能(Joiner,splitter)
split
splitByWholeSeparator
splitByWholeSeparatorPreserveAllTokens
splitByWholeSeparatorWorker
splitPreserveAllTokens
splitWorker
splitPreserveAllTokens
splitByCharacterType
splitByCharacterTypeCamelCase
join
joinWith

8.移除
deleteWhitespace
removeStart、removeStartIgnoreCase、removeEnd、removeEndIgnoreCase、remove、removeIgnoreCase、removeAll、removePattern、removeFirst

9.替换
replaceOnce、replaceOnceIgnoreCase、replacePattern、replaceAll、replaceFirst、replace、replaceIgnoreCase、replaceEach、replaceEachRepeatedly、replaceChars
overlay

10.去除末尾的换行符
chomp、chop

11.编辑字符串
repeat、rightPad、leftPad、center
upperCase、lowerCase、capitalize、uncapitalize、swapCase
rotate、reverse、reverseDelimited
abbreviate、abbreviateMiddle
appendIfMissing、appendIfMissingIgnoreCase
prependIfMissing
wrap、wrapIfMissing

12.判断类型
isAlpha
isAlphaSpace
isAlphanumeric
isAlphanumericSpace
isAsciiPrintable
isNumeric
isNumericSpace
isWhitespace
isAllLowerCase
isAllUpperCase

13.对为null,empty的进行判断,并且最后两个能够设置默认值
defaultString
defaultIfBlank
defaultIfEmpty

你可能感兴趣的:(java编程)