为什么这个powershell.Replace()不工作?

为什么这个powershell.Replace()不工作?,powershell,replace,Powershell,Replace,任何帮助让我知道我在这里做错了什么都将不胜感激 这就是我正在做的事情。在本例中,我希望$name中的最终结果仅为人名“Todd Welch”,但结果却是“属于Todd Welch的设备”,因此替换无效 $name = "A device that belongs to Todd Welch" $name = $user.Replace(".*device that belongs to ","") $name = $name.Trim() Write-host $name 写入主机输出“属于T

任何帮助让我知道我在这里做错了什么都将不胜感激

这就是我正在做的事情。在本例中,我希望$name中的最终结果仅为人名“Todd Welch”,但结果却是“属于Todd Welch的设备”,因此替换无效

$name = "A device that belongs to Todd Welch"
$name = $user.Replace(".*device that belongs to ","")
$name = $name.Trim()
Write-host $name

写入主机输出“属于Todd Welch的设备”

您的第二行应为
$name=$name.Replace(“属于“,”)的设备)
.Replace()
来自字符串类,它进行文本替换。由于您使用的是正则表达式机制
*
,因此需要切换到
-replace
操作符:如果只是删除文本,则不需要替换文本

$data = "A device that belongs to Todd Welch"
$name = $data -replace ".*device that belongs to "
$name = $name.Trim()
$name

.Replace()
来自string类,它进行文本替换。由于您使用的是正则表达式机制
*
,因此需要切换到
-replace
操作符:
$user-replace.*属于“
的设备。如果您只是删除文本,那么替换文本是不必要的。多亏了这么多的管理,它才起作用。如果你把它作为一个答案,我会这样标记。我已经发布了。谢谢,结果中不可能还包含“A”。设备前的文本可能会有所不同,这就是为什么我希望它匹配一个或多个字符并将其全部删除。是的。没错。请选择@AdminOfThings anwser。很抱歉没有仔细阅读您的请求。