PowerShell替换为通配符

时间:2015-03-06 04:01:03

标签: regex string powershell replace wildcard

我已经在几个方面进行了一些挖掘,并且已经在我的桌子上猛击了几个小时,我开始认为我过度思考它。我希望这是一个非常简单的答案。

最终,我需要做的就是替换"(*)"在""的字符串中但我无法弄清楚如何做到这一点。我已经阅读了很多关于正则表达式的内容,但它只是没有意义。

我想做的例子

#create a test string
$string = "test 001 (testing 123)"
#replace everything in () with ""
$string.Replace("(*)","")

结果:$ string等于"测试001"

我怀疑这是孩子在那里玩耍的孩子,所以我希望有人遇到这个并能够快速回答。提前致谢。

1 个答案:

答案 0 :(得分:1)

由于括号是regex meta charcaters,你需要按顺序对其进行转义以匹配文字括号。

\([^)]*\)

使用上面的正则表达式,然后用空字符串替换匹配项。如有必要,再次逃避反斜杠。

[^)]*否定了符合任何字符但不符合)的字符类,零次或多次。

DEMO