2015-10-18 296 views
1

我有几个pdf文件,我想用文件夹的前缀重命名。我如何使用下面显示的数据结构中的“RS”后面的文件夹名称重命名pdf文件?我在这个论坛搜索了以前的帖子,并找到了一些例子,但每个问题都是独特的,我无法适应我的情况。使用文件夹名称作为前缀重命名文件

当前数据结构:

C:\Users\KG\Downloads\RS\pulmonary\chapter1\1 a.pdf 
C:\Users\KG\Downloads\RS\pulmonary\chapter1\1 b.pdf 
C:\Users\KG\Downloads\RS\pulmonary\chapter2\2 a.pdf 
C:\Users\KG\Downloads\RS\pulmonary\chapter2\2 b.pdf 
C:\Users\KG\Downloads\RS\endocrine\1 b.pdf 
C:\Users\KG\Downloads\RS\endocrine\1 a.pdf 

预期的结果:

pulmonary1 a.pdf 
pulmonary1 b.pdf 
pulmonary2 a.pdf 
pulmonary2 b.pdf 
endocrine1 b.pdf 
endocrine1 a.pdf 

回答

0

如果x是你的文件路径向量,正则表达式下面返回在你的例子中的文件名。

new.x = gsub(".*\\RS\\([a-z]*)\\(.*\\)?([0-9].*)", "\\1\\3", x) 

如果你可以有,比如说,“章”,而不是唯一的“章”,或者如果经过“章”或在文件名中的数字可以是两个或多个数字,那么正则表达式将需要很少有调整,使其更一般化。