Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

java 字符串分割的几种方式

Java 笔记 Java 笔记


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", ",");