regex - Powershell仅替换完全匹配的字符串

标签 regex powershell replace

我想使用replace替换确切的单词,但我似乎不知道。

$value1 = "I brought tea for my team"

$newValue = "coffee"
$token = "tea"

$value1 -replace $token, $newValue

实际结果:

I brought coffee for my coffeem



预期结果:

I brought coffee for my team



固定:
$value1 = "I brought tea for my team"

$newValue = "coffee"
$token = "tea"

$value1 -replace "\b$token\b", $newValue

最佳答案

@Theo是正确的。您可以使用正则表达式和单词边界\b来包装搜索词以仅匹配整个单词。

$value1 = "I brought tea for my team"

$newValue = "coffee"
$token = "tea"

$value1 -replace "\b$token\b", $newValue

关于regex - Powershell仅替换完全匹配的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57859841/

相关文章:

c# - 在 C# 控制台应用程序中禁用跟踪,包括第三方引用

替换数据框中列中的随机值

javascript - 如何将此函数调用移出我的 HTML 代码

java - 删除成对的括号({},(),[])和其中的文本,并用Java中字符串中的空格替换剩余的不成对的

powershell - 如何复制带有子文件夹的文件夹?

user-interface - 有 Win32API 的替代 API 吗?

c# - 替代多个 String.Replaces

javascript - 在匹配整个函数时捕获函数名称

c# - RegularExpression - 带 1 个小数点的正整数

powershell - PowerShell ForEach 循环中的内联命令执行