public String[] split(String regex)
-
根据给定正则表达式的匹配拆分此字符串。
public StringTokenizer(String str, String delim)
-
str
- 要解析的字符串。 -
delim
- 分隔符。
这篇文章主要说明的是,当需要用多个分隔符的时候,应该如何编写;
代码:
import java.util.StringTokenizer;
public class MultiplySeparator {
// 测试多个分隔符的情况
public static void main(String[] args) {
String content = "a,b,c,d;e;f.g,d;f.h.z.v.b.m#e";
String[] results = content.split("\\.|;|#|,"); //注意这里的转义
for(int i = 0; i < results.length; i++) {
System.out.println(results[i]);
}
System.out.println("==== 快乐的分隔线 ====");
StringTokenizer st = new StringTokenizer(content, ".,#");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
运行结果:
a
b
c
d
e
f
g
d
f
h
z
v
b
m
e
==== 快乐的分隔线 ====
a
b
c
d;e;f
g
d;f
h
z
v
b
m
e
结果和我们预期的一样,如果split里面的正则表达式写成如下格式:content.split(".|;|#|,"),结果又会是怎么样的呢?有兴趣的童鞋可以自己测试一下。
注意:
1、如果使用"."和"|"作为分隔符,需要转义,即写成split("\\.")或者是split("\\|"),这样才能和预期的结果一样;
因此,当我们的分隔符本身为转义字符的时候,必须要告诉系统,我是以“|”来分隔,这里的“|”并不是转义字符。
2、如果需要多个分隔符来处理某一个字符串,可以使用“|”作为连接符,例如:content.split("\\.|;|#|,")。