VB.NET用正则表达式替换字符串

时间:2012-10-02 12:26:31

标签: regex vb.net

我在VB.NET中使用正则表达式时遇到了一些问题。

我有一个像这样的字符串:"[Type=User][User=Hello]Thats the message"

我希望拥有"Thats the message"部分,因此我认为最好的方法是将"[Type=User][User=Hello]"替换为""

注意:

  • "Thats the message"始终位于字符串的末尾,可以是""(没有字符)。

  • [Type=XXXX]可以是任何内容,我的意思是,它可以是[Type=Password][Type=Message] ...

所以,这就是我所做的:

Dim regOptions As RegexOptions = RegexOptions.IgnoreCase Or RegexOptions.Singleline
Regex.Replace(buffer, "^(.*)[^\]]*$", "", regOptions)

它不起作用,不修改字符串'buffer'。

1 个答案:

答案 0 :(得分:3)

根据the documentation of that overload,它将返回结果字符串(毕竟,.Net字符串是不可变的。)

所以,请尝试:

buffer = Regex.Replace(buffer, "^(.*)[^\]]*$", "", regOptions)