从文件名中删除某个字符之后的所有字符

问题描述

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

我想做的是:

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: \1

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

它从文件名中删除了所有-

有什么办法可以实现这一目标呢?谢谢您的帮助

谢谢

解决方法

如果支持先行,则可以在断言以下是0+个非空格字符和字符串末尾的.mp4时匹配连字符。

在替换中使用空格。

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

Regex demo

或更广泛的匹配:

-(?=\S*$)

Regex demo