考虑这个文件
AppConfig = {
version: '4.0.0',
clientId: "guid",
httpProxy: 'rest',
restUrl: "http://url.contoso.com/v1/",
conferences: ["lync", "hangouts", "webex"], // "lync", "hangouts", "webex"
dataRefreshInterval: 60 //seconds
}
我想用另一个字符串替换单引号内的字符串。我想更改特定属性的值(在我的情况下为version
)。
$content = Get-Content $VersionFile
for($i = 0;$i -lt $content.Count; $i++)
{
if($content[$i] -like "*version:*")
{
$content[$i] = $content[$i] -creplace <replaceWhat>, <replaceWith>
}
}
更优雅的方式如何找到version
行。
答案 0 :(得分:2)
如果您只想替换版本引号内的文本,可以执行以下操作:
$content = Get-Content $VersionFile
$replacement = <ReplaceWith>
$content = $content -creplace "version: '[^']*'","version: '$replacement'"
它会在您的文字
中用4.0.0
替换<ReplaceWith>
答案 1 :(得分:0)
你可以试试这个:
$version = "x.x.x.x"
$content = Get-Content $VersionFile
$content -replace "version: '(.*)'","version: '$version'"