黑马程序员技术交流社区
标题:
String类split()方法调用
[打印本页]
作者:
抽烟男孩
时间:
2013-3-25 15:51
标题:
String类split()方法调用
本帖最后由 抽烟男孩 于 2013-3-25 18:38 编辑
String[] result=str.split("\");每次希望调用split函数把用户输入的路径名如:d:\Test\a.txt变成d:\\Test\\a.txt以方便实现window系统下的路径总是失败,尝试String[] result=str.split(‘\');或String[] result=str.split(“\\”);也是失败,最后尝试字符集依然失败。苍天啊,这是为什么呢?{:soso_e118:}
作者:
胡志超
时间:
2013-3-25 16:06
你这样试试
String[] result=str.split(new char[]{'\'});
String path=String.Join("\\",result);
作者:
刘文超
时间:
2013-3-25 16:17
String str="d:\\Test\\a.txt";
String[] result=str.split("\\\\");
for(int i=0;i<result.length;i++){
System.out.println(result[i]);
}
复制代码
作者:
我手心里的宝
时间:
2013-3-25 17:28
\是一个特殊的转化符号,你在正则表达式学习的时候就知道了
String[] result=str.split(“\\”);你把这句代码改成String[] result=str.split("\\\\");就可以了
作者:
IT菜鸟
时间:
2013-3-25 17:45
Stirng.split();方法中的参数,不是一个普通的字符串,而是一个正则表达式。在正则表达式中,"\" 也是 特殊字符。也需要转义。而正则表达式中的转义字符也是"\".因此 正则
表达式中的指应该是"\\" 来来表示"\".同理 在 java 中也是"\\"表示"\". 因此最后的结果应该是srt.split("\\\\");理解的关键是参数类型为正则表达式,你可以了解一下正则表达式的简单语法。
作者:
董延京
时间:
2013-3-25 18:10
其实,用户输入d:\Test\a.txt这个类型的字符串,在存数的时候java自动转义,存储的字符串就已经是“d:\\Test\\a.txt”,你根本不用再转存了,所以你用(“\\”)来截取的话,系统就报了一个异常。所以如果你要分割的话,用的正则表达应该是s.split("\\\\");
作者:
柳 德 彬
时间:
2013-3-25 18:19
还有一种方式比较简便, 也是可以的,
String str="d:/Test/a.txt";
String[] result1=str.split("/");
for(int i=0;i<result1.length;i++){
System.out.println(result1[i]);
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2