正则表达式问题 public class Test1 { public static void main(String[] args) { String str="TOM:89|JERRY:90|TONY:78"; String[] new1=str.split("|"); for(int i=0;i<new1.length;i++) { System.out.println(new1[i]); } }}答案为什么不是TOM:89 JERRY:90TONY:78" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 |是正则表达式的或操作字符,要用\转义的 public static void main(String[] args) { String str="TOM:89|JERRY:90|TONY:78"; String[] new1=str.split("\\|"); for(int i=0;i<new1.length;i++) { System.out.println(new1[i]); } } public class Test1 { public static void main(String[] args) { String str="TOM:89|JERRY:90|TONY:78"; //因为|在正则表达式中是逻辑或运算符,X|Y意思是X或Y,所以你的 //写法等价于“”|“”,所以其实是按“”分隔的,因此没有达到理想的输出 //改为下面的,用转义字符就好了 String[] new1=str.split("\\|"); System.out.println(new1.length); for(int i=0;i<new1.length;i++) { System.out.println(new1[i]); } }} String的几个函数真的挺让人迷糊的split()中的参数,是一个正则表达式,而正则表达式就需要注意特殊的转义字符但是像 indexof,startswith等,又用的不是正则表达式而是简单字符串,就不需要转义了。用的时候,还是对照着API文档或者做好单元测试吧 一直再试\|,就不知道用\\|郁闷,刚学JAVA,得多练习了,谢谢大家... 请问一个NIO的问题? 帮忙 散分了 初学java开发问题 一个awt的问题 4 | 7的结果是什么?为什么?4 & 7呢? 正则表达式问题(我用\w替换[0-9a-zA-Z_]后编译不通过!!!!!! ibm JDK在那里下载 Vj++中如何启动浏览器 请问一个简单的问题?怎样取得这样格式的日期(JAVA):sep/28/2001 10:02:59 Applet问题: JSwing与iis5.0 java调用C++DLL库导致JVM崩溃 Java Thread
{
String str="TOM:89|JERRY:90|TONY:78";
String[] new1=str.split("\\|");
for(int i=0;i<new1.length;i++)
{
System.out.println(new1[i]);
}
}
public class Test1
{
public static void main(String[] args)
{
String str="TOM:89|JERRY:90|TONY:78";
//因为|在正则表达式中是逻辑或运算符,X|Y意思是X或Y,所以你的
//写法等价于“”|“”,所以其实是按“”分隔的,因此没有达到理想的输出
//改为下面的,用转义字符就好了
String[] new1=str.split("\\|");
System.out.println(new1.length);
for(int i=0;i<new1.length;i++)
{
System.out.println(new1[i]);
}
}
}
但是像 indexof,startswith等,又用的不是正则表达式而是简单字符串,就不需要转义了。用的时候,还是对照着API文档或者做好单元测试吧
郁闷,刚学JAVA,得多练习了,谢谢大家...