【发布时间】:2018-12-20 00:07:03
【问题描述】:
我想构建一个 PowerShell 脚本,它返回给定字符串出现后发生的所有内容。我想针对单个字符串而不是集合运行命令。
例如我想返回短语“_blah_”之后的所有内容
_blah_v2.3
_blah_bar_blah_v56
_blah_v42
foo
结果:
v2.3
bar_blah_v56
v42
可能正则表达式对于这样的操作来说太重了,所以寻找一些替代解决方案 我试过这个:
$Foo = "blah_v1.1"
$FooVersion = ($Foo -split '_blah_', 2)[1]
Write-Host $Foo
Write-Host $FooVersion
但它仅适用于单个字符而不是字符串。我不精通 PowerShell,正在寻找一些快速方便的解决方案。
【问题讨论】:
-
"_blah_bar_blah_v56" -replace "^.*?blah_"?或类似的东西。正则表达式似乎非常适合这样的事情。从字符串的开头替换,直到并包括“单词” -
-split命令的唯一问题(顺便说一句,它也使用正则表达式)是您只匹配_blah_,而输入只有blah_。跨度>
标签: powershell