如何使用 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
我有像
这样的文件夹路径\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