在使用split()方法对字符串进行分割时,字符串中可能会存在特殊的敏感字符,split()方法无法直接分割,敏感字符来源主要是正则表达式中的特殊字符,譬如*,[,|等,当需要分割其中字符数,需要对字符转义,否则代码运行报错异常或无法编译或达不到预想分割结果。
源代码:
失误案例:
//初始化字符串
String str="每一个|JAVA|程序员*的开始都离不开[Hello,World!]。你好世界";
//错误示范1
str.split("[");//编译报错:含有未闭合符号
//初始化字符串
String str="一个|JAVA|程序员";
//错误示范2
String[] split=str.split("|");//编译与运行不报错,但不会执行出分割结果
for (String s : split) {
System.out.println(s);
}
错误示范2
预期:
一个
JAVA
程序员
实际运行结果:
一
个
|
J
A
V
A
|
程
序
员
进程已结束,退出代码0
//初始化字符串
String str="每一个|JAVA|程序员*的开始都离不开[Hello,World!]。你好世界";
//正确示范
String[] split=str.split("\\|");//编译与运行不报错,但不会执行出分割结果
for (String s : split) {
System.out.println(s);
}
结果:
每一个
JAVA
程序员*的开始都离不开[Hello,World!]。你好世界