【发布时间】:2017-10-23 21:17:25
【问题描述】:
我的文件中有一些文本。
我使用Get-Content 读取文件,然后使用正则表达式-replace 查找模式并替换内容。这很完美,直到我遇到我需要替换该字符串的第二次出现而不是第一次或之后的任何情况(在这种情况下它只会出现两次)。
我想搜索“要查找的某个字符串”,然后仅替换该字符串的第二次出现。我已经搜索过,试图找到如何做到这一点的例子,但没有找到。我可以找到如何替换部分字符串,但不能找到完整字符串的全部单独出现。
这是替换所有出现的字符串的方法。
(gc file.txt) -replace "Some string to find", "some string changed") | sc file.txt
【问题讨论】:
-
试试
(gc file.txt) -replace "(str1.*?)str1", "${1}replaced" | sc file.txt。要仅匹配整个单词,请使用"\b(str1\b.*?)\bstr1\b"
标签: regex powershell replace