split方法和转义字符
public class split {
?public static void main(String[] args) {
??String sourceStr="1*3*5";
??String[] sourceStrArray=sourceStr.split("u002A");
??String[] sourceStrArray=sourceStr.split("*");
??? for(int i=0;i<sourceStrArray.length;i++)
??? {
???? System.out.println(sourceStrArray[i]);
??? }
?}
}
今天遇到一个很奇怪的问题,就是当我用split函数时一直出现异常情况。我检查了好久都没有检查出来,后来才发现原来是我的分隔符的问题,以前用那些简单的如:“,”“_”等都能够正常的运行,但是,今天我用的是“*”,一直提醒报错误,后来我抱着试试的态度去解决是不是以为“*”是特殊运算符,我就找了一篇关于,java转义字符的文章,其中“*”的转义字符是“u002A”,运行成功了!哈哈哈哈
下面是java的常用转义字符:
java转义字符对照表
点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C
}
Java代码
?? 1. String str2="a$b$c";?
?? 2. String strs[]=str2.split("$");?
?? 3. for(String str:strs){?
?? 4.???? System.out.println(str);?
?? 5. }?
??String str2="a$b$c";
??String strs[]=str2.split("$");
??for(String str:strs){
???System.out.println(str);
??}
?
并不会打出 a , b ,c需要转义才可如:
Java代码
?? 1. String str2="a$b$c";?
?? 2. String strs[]=str2.split("//u0024");?
?? 3. for(String str:strs){?
?? 4.???? System.out.println(str);?
?? 5. }