powershell - 仅替换字符串中第一次出现的单词

标签 powershell

我在正则表达式方面遇到了一些问题,主要是因为我认为我能找到的信息并不是专门针对 powershell 的,而且我尝试过的所有示例要么错误,要么无法按预期工作。我试图用另一个单词替换字符串中第一次出现的单词,但不替换该单词的任何其他出现。以字符串为例:

我的名字是鲍勃,她的名字是萨拉。

我想将第一次出现的 name 替换为 baby,这样生成的字符串将是

我的 child 是鲍勃,她的名字是萨拉。

我一直在https://regex101.com/工作尝试构建并查看我选择的内容,但正如我所说,这些都没有正则表达式的 powershell 风格。因为我可以关闭 global 标志,它似乎选择了第一个出现的位置,但不是在 powershell 中。所以我真的不知道从哪里开始,此时真正要做的是选择单词 name 的所有出现:

$test = "My name is Bob, her name is Sara."
$test -replace 'name', 'baby'

最佳答案

替换n次的一种方法:

$test = "My name is Bob, her name is Sara."
[regex]$pattern = "name"
$pattern.replace($test, "baby", 1) 

> My baby is Bob, her name is Sara

关于powershell - 仅替换字符串中第一次出现的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40089631/

相关文章:

powershell - 如何使用powershell创建tar gz文件

windows - Jenkins 不会使用 Credential 参数运行 Start-Job

powershell - Golang 调用 PowerShell.exe 总是返回 ASCII 字符

json - 如何正确地将带有DateTime的PSObject序列化为JSON?

powershell - 在 Start-Process 中添加一个命令以向 Plink 提供 "y"输入

javascript - 需要将逗号分隔的字符串转换成json字符串

powershell - Docker 机器错误 : Hyper-V PowerShell Module is not available

file - 将字符串中的特定位置输出到变量

c# - PowerShell 和 Google Protocol Buffer 技术

powershell - 使用 Powershell 在 Azure 中查找标记的资源