A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一蓑烟雨任平生 中级黑马   /  2012-3-19 13:49  /  3474 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String args[]){
String s="a.txt";
String a[]=s.split(".");
System.out.println(a.length);
}
输出结果为0 不是2吗?

4 个回复

倒序浏览
public static void main(String args[]){
String s="a.txt";
String a[]=s.split("\\.");//这里的"."需要转意
System.out.println(a.length);
}
正解如上
回复 使用道具 举报
"."在正则中代表任意字符。用"\\."去分割就能分出来了,这里记住就可以了,到后边会学到这个正则表达式的内容的
回复 使用道具 举报
转义字符。"\\."这样就可以了
回复 使用道具 举报
"."需要用转移字符.
使用String.split方法时要注意,在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 参数regex是一个定界正则表达式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,正则表达式中"."匹配任何字符 (详细可查API文档)
修改如下:String a[]=s.split("\\u002E");或String a[]=s.split("\\.");或String a[]=s.split("[.]");
另附上一些常用的转义字符
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
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马