`
wxpuc123
  • 浏览: 7742 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Java 截取反斜杠 replaceAll和split (“\”) 问题解决办法

阅读更多
xxx.split("\\") 显然得不到想要的结果

正确方法

xxx.split("\\\\");

原因如下:

在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上传文件的文件名,由于ie会把整个文件路径都作为文件名上传,需要用java.lang.String中的replaceAll或者split来处理。如:

上传文件路径为:C:\Documents and Settings\collin\My Documents\111-lazyloading.gif,欲取出文件名:111-lazyloading.gif。可以

String temp[] = name.split("\\\\");
if (temp.length > 1) {
name = temp[temp.length - 1];
}

regex为\\\\,因为在java中\\表示一个\,而regex中\\也表示\,所以当\\\\解析成regex的时候为\\。

由于unix中file.separator为斜杠"/",下面这段代码可以处理windows和unix下的所有情况:

String temp[] = name.replaceAll("\\\\","/").split("/");
if (temp.length > 1) {
    name = temp[temp.length - 1];
}



注:原文来自http://hi.baidu.com/%D3%B2%BA%BA%D6%DD%B3%A4/blog/item/a2b78b43775e891a73f05d25.html
分享到:
评论
1 楼 hyj1254 2011-01-05  
引用
因为在java中\\表示一个\

是\\\\表示一个\

相关推荐

Global site tag (gtag.js) - Google Analytics