如何使用 PowerShell 替换文件路径的最后未知部分

How to replace the last unknow part of a file path using PowerShell

我有像

这样的文件夹路径

\Street\House\Level\Room1

\City\Street\House\Level\Room23

并希望使用 PowerShell 5.1 将最后一位数字(此处:321 或 1023)替换为另一个数字(即 567)。

但是路径可能会像最后一位那样变化。

如何进行替换?

我假设使用 RegEx,但我对此迷路了...

在您的示例中,一个简单的替换就可以了,但假设字符串中的其他位置可能有数字,您可以使用在字符串末尾捕获一个或多个数字的正则表达式。

\d匹配一个数字(相当于[0-9])

+ 匹配前一个标记一次到无限次

$ 声明行尾的位置

[RegEx]::Replace('\Street\House\Level\Room1', '\d+$', '1023')
[RegEx]::Replace('\City\Street\House\Level\Room23', '\d+$', '567')

输出:

\Street\House\Level\Room23
\City\Street\House\Level\Room7