如何防止替换以前的事件?

时间:2017-04-19 22:15:12

标签: string csv replace powershell-v3.0

我使用PowerShell替换text / CSV文件中的特定字符串。一切都很好,除了一个字符串在其他字符串中。

更多背景信息,在CSV中,只有一个字段只包含' creator'在里面。这是我需要改变的领域。但是还有其他领域的“创造者”这个词。是短语的一部分。

实施例

我正在替换:

(Get-Content test.csv) | ForEach-Object {
    $_.Replace('IPTC - Creator', 'XMP:Creator').Replace('Creator', 'XMP:ArtworkCreator')
} | Set-Content test2.txt

创作者这个词'在所述的其他字符串中,它导致第二次.Replace()调用改变了我不想改变的内容。

在这个例子中,IPTC - Creator'成为' IPTC - XMP:ArtWorkCreator'。

有没有办法取代“创作者”这个词。使用' XMP:ArtworkCreator'没有影响其他短语?也许我必须发表一个if声明?

0 个答案:

没有答案