在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仍然是资源不可用
答案 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'
}