我们都知道 String s="ad,dfjdlfs,df,s,dfl";
执行 String re[]=s.split(",");
则re的数组将是re[0]="ad" re[1]="dfjdlfs" re[2]="df" re[3]="s" re[4]="dfl"
同理 String s="an|ddd|aed"
执行 String re[]=s.split("|");
结果中却 re[0]="" re[1]="a" re[2]="n" re[3]="|" re[4]="d" ........
刚开始不知道怎么回事?
后来查了java的转义字符
1.八进制转义序列:\ + 1到3位5数字;范围‘\000‘~‘\377‘ \0:空字符
2.Unicode转义字符:\u + 四个十六进制数字;0~65535 \u0000:空字符
3.特殊字符:就3个
\":双引号
\‘:单引号
\\:反斜线
4.控制字符:5个
\‘ 单引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格
点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C
后来改成:
String s="an|ddd|aed" 执行 String re[]=s.split(\\u007C);
结果就是我想要的了 re[0]="an" re[1]="ddd" re[2]="aed"
执行 String re[]=s.split(",");
则re的数组将是re[0]="ad" re[1]="dfjdlfs" re[2]="df" re[3]="s" re[4]="dfl"
同理 String s="an|ddd|aed"
执行 String re[]=s.split("|");
结果中却 re[0]="" re[1]="a" re[2]="n" re[3]="|" re[4]="d" ........
刚开始不知道怎么回事?
后来查了java的转义字符
1.八进制转义序列:\ + 1到3位5数字;范围‘\000‘~‘\377‘ \0:空字符
2.Unicode转义字符:\u + 四个十六进制数字;0~65535 \u0000:空字符
3.特殊字符:就3个
\":双引号
\‘:单引号
\\:反斜线
4.控制字符:5个
\‘ 单引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格
点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C
后来改成:
String s="an|ddd|aed" 执行 String re[]=s.split(\\u007C);
结果就是我想要的了 re[0]="an" re[1]="ddd" re[2]="aed"