一:java转义字符对照表(字符对照表网上很多,但是不用记住的,有更简单的方法,请见(四)的结果分析;另外需要记住(五)中的3个特殊字符 和 5个控制字符)

点的转义:. ==> u002E 


美元符号的转义:$ ==> u0024 


乘方符号的转义:^ ==> u005E 


左大括号的转义:{ ==> u007B 


左方括号的转义:[ ==> u005B 


左圆括号的转义:( ==> u0028 


竖线的转义:| ==> u007C 


右圆括号的转义:) ==> u0029 


星号的转义:* ==> u002A 


加号的转义:+ ==> u002B 


问号的转义:? ==> u003F 


反斜杠的转义: ==> u005C 

 二:具体测试实验

(1)非预想的代码(结果不是想要的)

String str2="a$b$c";  
String strs[]=str2.split("$");  
for(String str:strs){  
    System.out.println(str);  
}

结果:并不会打出 a , b ,c需要转义才可如: 


(2) 预想的代码(预想的结果)


String str2="a$b$c";  
String strs[]=str2.split("\\u0024"); // 这句话 等效为 split("\\."),其它的依次类推 再如| split("u007c") 或者 split("\\|") 
for(String str:strs){  
    System.out.println(str);  
}

三:完整的代码:


public static void main(String[] args){ 

System.out.println("****\\\\"); 

String str = "a\\b\\b\\c.csv|aaaaa"; 

String[] chars = str.split("\\\\"); 

String[] fileName = chars[3].split("\\.");// u002e 

String[] tmp = chars[3].split("\\u007c");//  \\u007c 

for(String cha:chars){ 

System.out.println(cha); 

} 

System.out.println(fileName[0]); 

System.out.println(tmp[1]); 

}

四:总结

(1)如  |  split("u007c") 或者 split("\\|") ;

(2)java转义字符对照表 里面的都可以按照上面的就行转义,即 String  expr = "\\相应字符";  即可;而不用记住其对应的16进制序列。 


五:知识补充(3个特殊字符 和 5个控制字符,其实类似于字符对照表的,把双斜杠\\相应字符 改为 单斜杠\相应字符)

1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377' 
      \0:空字符 
2.Unicode转义字符:\u + 四个十六进制数字;0~65535 
      \u0000:空字符 
3.特殊字符:就3个 
     \":双引号 
     \':单引号 
     \\:反斜线 
4.控制字符:5个 
\' 单引号字符 
\\ 反斜杠字符 
\r 回车 
\n 换行 
\f 走纸换页 
\t 横向跳格 
\b 退格