PowerShell隔离字符串的部分

时间:2012-04-30 02:19:45

标签: regex powershell

我没有使用正则表达式的经验,并希望获得有关删除csv文件中包含的部分文件名的可能解决方案的一些帮助和建议。

问题:

导出的文件名列表包含我需要隔离的随机唯一标识符。唯一标识符没有可预测的模式,但需要删除的方面有。每个文件名都以下列变体之一结尾:

V,-V或%20V后跟一个带有可能空格的随机数序列,附加“ - ”,“”并以.PDF结尾

的示例:

GTD-LVOE-43-0021 V10 0.PDF GTD-LVOE-43-0021-V34-2.PDF GTD-LVOE-43-0021_V02_9.PDF GTD-LVOE-43-0021 V49.9.PDF

解决方案:

我的计划是编写一个脚本来从字符串末尾选择第一次出现的V,然后删除它以及它右边的所有内容。然后可以通过删除出现在字符串末尾的任何“ - ”或“_”和空格来清除文件名。

问题:

我如何用正则表达式做到这一点,我的思路是否接近解决这个问题的正确方法?

1 个答案:

答案 0 :(得分:1)

REGEX:[\s\-_]V.*?\.PDF

可能会做到这一点。你仍然需要更换任何领先的 - 和_,但它应该让你走上正轨,希望。

这将如下所示..

whitespace-_后跟V开头。然后拿走所有内容,直到你到达第一个.PDF