我需要从出现在两个值之间的文本文件中检索一个字符串。例如,我需要检索之间的字符串< postcode >W12 FGS < /postcode >
,然后在该字符串中放置一个空格,所以它看起来像< postcode >W12 FGS < /postcode >
. 该文件可以包含 100 多个邮政编码。我该怎么做?
问问题
1222 次
1 回答
0
无论如何,根据您的要求,您在处理正则表达式时需要非常精确:
$pattern = [regex]::escape('< postcode >W12FGS < /postcode >')
$replaceWith = '< postcode >W12 FGS < /postcode >'
(Get-Content .\postcode.txt) |
Foreach-Object {$_ -replace $pattern,$replaceWith } |
Set-Content .\postcode.txt
根据评论更新,更改文件夹中多个 xml 的邮政编码。
Get-ChildItem c:\postcodes -Filter *.xml | Foreach-Object{
[xml]$xml = Get-Content $_.FullName
$xml.SelectNodes('//c_postcode') | Foreach-Object{ $_.'#text' = $_.'#text'.Insert(3,' ') }
$xml.Save($_.FullName)
}
于 2012-08-13T14:19:57.490 回答