字符串处理高效工具(Java)
2016-12-27 11:05
866 查看
在处理string的时候,你可能会遇到null引起的NPE烦恼,本文介绍一些可以安全的处理null问题的工具类(容错性更好),这些方法经过了大量的实践证明,不用自己去重复的创造轮子。
荀子说,人要“善假于物”,人要善于借助工具。正是人的实践和主观能动性,创造了提高效率的工具,这也是人和动物的区别。在字符串处理中,可以使用apache的commons-lang3和guava的相关字符串处理工具。对应的maven如下:(均为发文时的最新版本)。
其中: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
荀子说,人要“善假于物”,人要善于借助工具。正是人的实践和主观能动性,创造了提高效率的工具,这也是人和动物的区别。在字符串处理中,可以使用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/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高效处理字符串
- Java敏感字符串处理工具类(河蟹专用)
- java常用流处理工具StreamTool 常见的InputStream流转字符串, 转字节数组等等
- Java 简单高效处理字符串-删除所有标点
- 谷歌Java开发工具包Guava之String字符串处理工具
- java常见工具方法,包括,日期处理,字符串处理,手机号等等
- 爪哇(Java)自定义的二个字符串高效处理方法,在静寂一个半月之后
- Java敏感字符串处理工具类(河蟹专用)
- Strman-java – 好用的字符串处理工具
- java字符串处理工具
- java开发中的工具函数(Util)---字符串处理(二)
- Java 简单高效处理字符串-删除所有标点,正则表达式
- java常用流处理工具StreamTool 常见的InputStream流转字符串, 转字节数组等等
- 爪哇(Java)自定义的二个字符串高效处理方法,在静寂一个半月之后 推荐
- Java字符串工具类(字符串 替换 分隔符 特殊字符处理)
- Java中的字符串转码处理
- 熟悉java.lang包-2(八、字符串处理相关类)
- JAVA 高效判断字符串的字符个数
- 绝对经典Java开源工具Jimi处理图片大小及格式转换及打水印(源码)
- JAVA字符串处理函数列表一览 德仔工作室