java 字符串根据指定分隔符进行分割有很多种方式,这里主要介绍常用的几种方式。
String 的 split 方法(java 1.4)
java 从 1.4 开始支持 String
类的 split
方法对指定分隔符进行分割,示例如下:
String[] parts = "knowledge-dict".split(",");
Pattern 的 splitAsStream 方法(java 8)
如果 Java 8 及以上的版本,可以使用流式数据操作,具体如下:
List<String> strList = Pattern.compile("-").splitAsStream("knowledge-dict")
.collect(Collectors.toList())
StringTokenizer(java 1.0)
从 jdk 1.0 开始就有 StringTokenizer
类,顾名思义该类可以对字符串进行分解,个人不推荐使用这种方式,示例如下:
StringTokenizer strings = new StringTokenizer("your knowledge.knowledge dict", ".");
while(strings.hasMoreTokens()){
String substring = strings.nextToken();
System.out.println(substring);
}
Google Guava Splitter(推荐)
利用强大的 google guava 工具包提供的专有分割辅助类 Splitter
,具体如下:
Iterable<String> result = Splitter.on(",").split("1,2,3,4");
Apache Commons StringUtils(推荐)
个人比较推荐的方式,apache commons 系列的 commons-lang3 工具包提供了 StringUtils
字符串辅助类,提供了的 split
的静态方法,且无需检查输入的字符串是不是 null
,内部做了校验,示例如下:
String[] arr = StringUtils.split("1,2,3,4", ",");