从文件名中删除特定字符后的所有字符

Removing all Characters after a Certain Character From Filenames

我一直在尝试删除我的多个文件名中某个字符之后的所有字符

我想做的是:

test1234 - 15-03-16 - this-is-a-test.mp4 -----> test1234 - 15-03-16 - this is a test.mp4

test1234 - 12-02-18 - this-is-another-test.mp4 -----> test1234 - 12-02-18 - this is another test.mp4

即删除 this-is-a-test 中的所有 - 以及 this-is-another-test (我有大约 100 个以相同方式命名的文件)

我使用了批量重命名实用程序及其正则表达式功能

RegEx (1)
Match: ^([^-])
Replace: 

我对正则表达式一无所知,我在看到与我的 post 类似的代码后编写了上面的代码...不幸的是,它在我的情况下不起作用

它从文件名

中删除了所有-

我有什么办法可以实现这个..任何帮助表示感谢

谢谢

如果支持前瞻,您可以匹配一个连字符,同时断言后面是 0+ 非白色space 个字符,后跟字符串末尾的 .mp4。

在替换中使用 space。

-(?=\S*\.mp4$)

Regex demo

或更广泛的匹配:

-(?=\S*$)

Regex demo