RegEx for Replace正在踢我的屁股。我正在尝试找到:
value="COM8"/>
在文本文件中,将“COM8”替换为另一个com端口(即“COM9”,“COM13”等)。
(Get-Content 'C:\Path\File.config').Replace('/".*?"', '"COM99"') | Set-Content 'C:\Path\File.config'
预先感谢您提供的任何帮助。
最佳答案
Get-Content
产生一个字符串列表。通过member enumeration在每个字符串上调用Replace()
。意思是,您在调用 String.Replace()
方法,而不是 Regex.Replace()
方法。前者仅执行普通的字符串替换。
请使用 -replace
运算符:
(Get-Content 'C:\Path\File.config') -replace '=".*?"', '="COM99"' |
Set-Content 'C:\Path\File.config'
关于powershell - Powershell。替换正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40032060/