首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于java的.split方法,该怎么解决

2012-01-07 
关于java的.split方法写程序的时候遇到一个关于split方法的问题,不知道是怎么弄的,请教各位大虾。程序大致

关于java的.split方法
写程序的时候遇到一个关于split方法的问题,不知道是怎么弄的,请教各位大虾。
程序大致是这样的:
ArrayList al = new ArrayList();
al.add("D:\xxx\xxx\abc");
al.add("E:\xxx\xxx\abc");
.
.
.
for(int i=0;i<al.size();i++){
  String temp=(String)al.get(i);
  String[] depart=temp.split("\");
  System.Out.Println("xxx-------->"+depart[2]); 
}

大致就是这样,报了一个数组越界的错误,我知道和正则表达式有关,但是这个地方实在不知道应该怎么表示,我换成"\\"也没有作用
所以请教一下这里的大虾们,万分感谢

[解决办法]
temp.split("\"); 改成temp.split("\\\\");
[解决办法]
因为 "\"是特殊字符,比如"\n" "\t" "\012"等是有特殊意义的.并不是表示的"\"


而要表示一个"\"需要用"\\"

String text = new String("Hell\\o");
其实是输出是Hello\o

因为正则表达式要跟 实际上是 一个 "\" 跟上一个其他参数 
所以需要而这里要输出"\"所以也需要用"\\" 正则表达式里面都是使用"\\"加上参数来表示 数字 空格 字符等
比如
 split("\\d")表示的一个数字.

Java code
String text = new String("j2He5ll\\2\\o");        String[] text1 ;        text1 = text.split("\\d");        for(String s: text1)        System.out.println(s);输出为:jHell\\o 

热点排行