在powershell中,我需要从字符串“资源全球发布服务不可用”中拆分和提取万维网发布服务。
我已经尝试过替换方法,但它不起作用
$message="The Resource World Wide Publishing Service is not available"
$newmessage=($message.Replace("The Resource is not available","")).ToString()
Write-Host $newmessage但是输出$newmessage仍然是资源不可用
发布于 2018-08-07 20:49:15
这里发生的情况是搜索部分与目标字符串不匹配。String.Replace()需要一个文字匹配。
在示例中,没有The Resource is not available这样的字符串。是的,单词在那里,但World Wide Publishing Service在这两个单词之间,所以不匹配。
作为解决方案,执行多个替换操作或使用正则表达式。简单的替换是这样的,
$message.Replace("The Resource ","").Replace(" is not available", "")
World Wide Publishing Service发布于 2018-08-07 20:54:29
除了@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'
}https://stackoverflow.com/questions/51726529
复制相似问题