如何在Powershell中的一个语句中使用-replace两次

问题描述 投票:1回答:2

我试图在Powershell中使用-replace函数两次,但我能完成此任务的唯一方法是使用以下代码:

$data = Get-Content c:\test.txt
$data -replace 'A','apple' | Out-File c:\newtest.txt
$data = Get-Content c:\newtest.txt
$data -replace 'B','blue' | Out-File c:\newtest2.txt

我相信应该有一种方法可以整合第2行和第4行,这样我就可以只使用newtest.txt与newtest2.txt中的正确输出。

powershell
2个回答
5
投票

使用括号:

((Get-Content c:\test.txt) -replace 'A','apple') -replace 'B','blue' | Out-File c:\newtest2.txt

或者你可以这样,如果你愿意的话。你没有理由不能两次使用-replace算子。

$data = Get-Content c:\test.txt
$data -replace 'A','apple' -replace "B","Blue" | Out-File c:\newtest.txt

0
投票

还有一种可用于字符串的替换方法,可以多次使用。

我们只需要在使用正则表达式时使用replace运算符

(Get-Content c:\test.txt).replace('A','apple').replace('B','blue') | Out-File c:\newtest2.txt

$data = Get-Content c:\test.txt
$data.replace('A','apple').replace("B","Blue") | Out-File c:\newtest.txt
© www.soinside.com 2019 - 2024. All rights reserved.