在使用split()方法对字符串进行分割时,字符串中可能会存在特殊的敏感字符,split()方法无法直接分割,敏感字符来源主要是正则表达式中的特殊字符,譬如*,[,|等,当需要分割其中字符数,需要对字符转义,否则代码运行报错异常或无法编译或达不到预想分割结果。

源代码:




java 含有特殊字符 java特殊字符_字符串


java 含有特殊字符 java特殊字符_java 含有特殊字符_02


java 含有特殊字符 java特殊字符_Powered by 金山文档_03


失误案例:

//初始化字符串
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!]。你好世界