求反斜杠的正则表达式

greedsluck 2010-07-01 11:10:31
比如:d:\asdf\asdfa\feaf.exe
e:\asdf\asdf%%f\fas%d.pdf
怎么写正则表达式,把文件名取出来,但反斜杠前的都不要,
我自己写了一个但名字中含有符号就取不出来了,
(?<=\b\\)\w+(.exe|.pdf|.zip)
不知谁能帮我写一个谢谢!
同时有没有比不用正则表达式更简单的方法啊?
如果我只要是在一个路径中,取出它的文件名来?
...全文
338 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
please_call_me_J 2010-07-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gaoxiang519 的回复:]
正则表达式中两个反斜杠表示一个反斜杠,java中两个反斜杠表示一个反斜杠,因此你想在运行在java上的正则表达式中标识出一个反斜杠,就需要用四个反斜杠来表示
[/Quote]

谢谢,a=test.split("\\");改成4个斜杠就可以了
greedsluck 2010-07-03
  • 打赏
  • 举报
回复
不错,1楼的,用这个方法比正则表达式简单
gaoxiang519 2010-07-02
  • 打赏
  • 举报
回复
正则表达式中两个反斜杠表示一个反斜杠,java中两个反斜杠表示一个反斜杠,因此你想在运行在java上的正则表达式中标识出一个反斜杠,就需要用四个反斜杠来表示
closewbq 2010-07-02
  • 打赏
  • 举报
回复

String[] array={"d:\\asdf\\asdfa\\feaf.exe","e:\\asdf\\asdf%%f\\fas%d.pdf"};
for(String str:array){
System.out.println(str.replaceAll("^.*\\\\",""));
}

无论用split还是substring都是可以做到的。
please_call_me_J 2010-07-02
  • 打赏
  • 举报
回复
class Estazolam {
public static void main(String[] args) {
String a[];
String test = "d:\\asdf\\asdfa\\feaf.exe";
a=test.split("\\");
System.out.print(a[a.length-1]);
}
}
/*求解为什么代码运行不出结果来。。。不懂,我新手,才学JAVA*/
please_call_me_J 2010-07-02
  • 打赏
  • 举报
回复
用 SPLIT分割字符串,取最后一个元素不就是你要的文件名吗?
Resurgam_ 2010-07-01
  • 打赏
  • 举报
回复
第一次回帖。。。。。。。。。。。。。。。。。
-过客- 2010-07-01
  • 打赏
  • 举报
回复
这样不行吗?

String test = "d:\\asdf\\asdfa\\feaf.exe";
String fileName = test.substring(test.lastIndexOf('\\')+1);
System.out.println(fileName);

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧