luotianle 发表于 2013-2-7 05:36:06

Java中replaceAll和split中的反斜杠("\")问题

转自http://myswirl.blog.163.com/blog/static/51318642200782234019529/


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

上传文件路径为:C:\Documents and Settings\collin\MyDocuments\111-lazyloading.gif,欲取出文件名:111-lazyloading.gif。可以
String temp[] = name.split("\\\\");if (temp.length > 1) {name = temp;}
regex为\\\\,因为在java中\\表示一个\,而regex中\\也表示\,所以当\\\\解析成regex的时候为\\。

由于unix中file.separator为斜杠"/",下面这段代码可以处理windows和unix下的所有情况:
String temp[] = name.replaceAll("\\\\","/").split("/");if (temp.length > 1) {    name =temp;}
页: [1]
查看完整版本: Java中replaceAll和split中的反斜杠("\")问题