您的位置:首页 > 编程语言 > Java开发

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

2016-12-27 11:05 866 查看
在处理string的时候,你可能会遇到null引起的NPE烦恼,本文介绍一些可以安全的处理null问题的工具类(容错性更好),这些方法经过了大量的实践证明,不用自己去重复的创造轮子。

荀子说,人要“善假于物”,人要善于借助工具。正是人的实践和主观能动性,创造了提高效率的工具,这也是人和动物的区别。在字符串处理中,可以使用apache的commons-lang3和guava的相关字符串处理工具。对应的maven如下:(均为发文时的最新版本)。

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>


其中:commons-lang3的工具可以关注:StringUtils和WordUtils,下文会重点列出StringUtils的方法分类。

guava可以关注:Strings(方法较少)、Joiner和Splitter三个类,Joiner和Splitter的实例可以参考:http://blog.csdn.net/qunzer/article/details/25376633http://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 string