我试图在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中的正确输出。
使用括号:
((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
还有一种可用于字符串的替换方法,可以多次使用。
我们只需要在使用正则表达式时使用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