我正在尝试使用 ReNamer 正则表达式来反转使用作者姓名的文件夹名称。它们设置为LastName, FirstName
,我需要将它们更改为FirstName LastName
(减去逗号)。
在 ReNamer 中,正则表达式的用法设置为一行中的表达式,第二行中的替换。我假设在这种情况下先输入,然后输出。我尝试了这里的几种解决方案,但根本无法解决问题。我几乎不了解正则表达式的基础知识,因此非常感谢任何帮助。
根据文件和文件夹重命名程序 ReNamer,正则表达式是几个选项中唯一能满足我需求的选项。我尝试了另一个网站上某人的建议。在表达式行中我输入了 ,([^,]*), (.)
然后在替换行中输入了\2 \1
。结果变成Duncan, Dave
了2 1
。
答案1
我不知道 ReNamer 但按照正则表达式逻辑这应该可行:
From: "^([^,]*), (.*)"
To : "\2 \1"
解释:
- initial
^
表示‘表达式的开始’ - 括号
()
内为需要记住的表达式的一部分,可以像\1
和 一样用来替换\2
。 [^,]*
匹配所有字符,直到但不包括逗号(^
在这种情况下表示“不匹配”).*
匹配所有剩余字符- 第一个括号内的表达式是你的
LastName
,第二个括号内的表达式是你的FirstName
答案2
你应该做这个:
:%s/\(^.*\,*\).*\(\,.*$\)/\2 \1/g
\
请记住,在 VI/VIM 中,某些标点符号需要在前面添加。
输出:
, 名字 姓氏