在PowerShell中,我需要从字符串“拆分并提取Worldwide Web Publishing服务”

时间:2018-08-07 12:13:01

标签: powershell

在Powershell中,我需要拆分并提取 万维网发布服务 来自字符串“资源全球发布服务不可用”

我尝试了Replace方法,但是不起作用

$message="The Resource World Wide Publishing Service is not available"
$newmessage=($message.Replace("The Resource is not available","")).ToString()
Write-Host $newmessage

但是输出$ newmessage仍然是资源不可用

2 个答案:

答案 0 :(得分:0)

这里发生的是搜索部分与目标字符串不匹配。 String.Replace()需要文字匹配。

在示例中,没有诸如The Resource is not available这样的字符串。是的,那里有单词,但是World Wide Publishing Service在两个单词之间,因此不是匹配项。

作为解决方案,请执行多次替换操作或使用正则表达式。简单的替换就是这样,

$message.Replace("The Resource ","").Replace(" is not available", "")
World Wide Publishing Service

答案 1 :(得分:0)

除了@vonPryz外,您还可以使用上述RegEx:

$message='The Resource World Wide Publishing Service is not available'
$match = [Regex]::Match($message, 'The Resource (.*) is not available')
if ($match.Success) {
    Write-Host $match.Groups[1].Value
} else {
    Write-Host 'Invalid input'
}