我想用replace代替确切的单词,但我似乎不明白。
$value1 = "I brought tea for my team"
$newValue = "coffee"
$token = "tea"
$value1 -replace $token, $newValue
实际结果:
我把咖啡拿来当咖啡
预期结果:
我为团队带来了咖啡
修复:
$value1 = "I brought tea for my team"
$newValue = "coffee"
$token = "tea"
$value1 -replace "\b$token\b", $newValue
答案 0 :(得分:2)
@Theo是正确的。您可以使用正则表达式和单词边界\b
来包装搜索词以仅匹配整个单词。
$value1 = "I brought tea for my team"
$newValue = "coffee"
$token = "tea"
$value1 -replace "\b$token\b", $newValue
答案 1 :(得分:1)
就像提奥在评论中提到的那样...
λ $value1 = "I brought tea for my team"
λ $newValue = "coffee"
λ $token = "tea"
λ $value1 -replace $token, $newValue
I brought coffee for my coffeem
λ $value1 -replace "\b$token\b", $newValue
I brought coffee for my team
您需要设置边界。即使您不是城市。
答案 2 :(得分:0)
您可以使用以下内容:
$token = " tea "
$newValue = " coffee "