2014-09-30 96 views
-2

我有一个具有绝对路径的数千行文件名的文件。如何删除记事本之前/之前的字符串++

Mar 18 2013 drawable/midplayer/ 
Mar 18 2013 drawable/midplayer/btnSelected.png 
Mar 18 2013 drawable/midplayer/btnUnselected.png 


desired output: 
Mar 18 2013 btnSelected.png 
Mar 18 2013 btnUnselected.png 

我想取出完整的路径,只想要文件名。如何做到这一点?帮助将不胜感激

+0

你限制在记事本++?否则,有很多方法可以在unix或linux系统中使用shell环境来实现。 – 2014-09-30 18:39:43

+0

谢谢卡尔。我是新来的,所以缩进都是错的 – cedrajin21 2014-09-30 18:39:49

+0

@TheDemz不,我不是。该文件是在Windows中创建的。我该如何在unix中完成此操作 – cedrajin21 2014-09-30 18:40:44

回答

0

如果你想使用记事本+ +,两个替换正则表达式打开可能工作。

尝试这些不带双引号。

这将取代您的路径的第一部分。

Find What: " ([^\s])+/" 
Replace With: " " 

这将删除所有没有的行。在他们

Find What: "^[^\.]+\r\n" 
Replace With: "" 
+0

我试了一个文件,它的工作就像一个魅力。您保存了我的一天buddy.Thanks多 – cedrajin21 2014-09-30 19:05:10

+0

特拉维斯我还可以在日期和文件名之间插入逗号使用正则表达式? – cedrajin21 2014-09-30 21:34:31

0

你的文件的格式非常漂亮,所以一个正则表达式可以做的伎俩:

Find: ^(.*\s+)[^\s]+/([^/]+)$ 
     |-----|    this is the timestamp ($1) 
       |-----|  this is the excluded part 
        |-----| this is the file name ($2) 
Replace: $1$2 
+0

我也可以使用正则表达式在日期和文件名之间插入一个逗号? – cedrajin21 2014-09-30 21:37:07

+0

@ cedrajin21当然,只要将Replace更改为'$ 1,$ 2',并且可能将'\ s +'从第一组中移出,以便找到'^(。*)\ s + [^ \ s] + /([^ /] +)'$ – AlexR 2014-09-30 22:30:54

相关问题