使用正则表达式从字符串中删除变量

时间:2012-10-25 18:35:36

标签: c# regex string parsing

我有一个包含此字符串的字符串:

value="'+c+'"

并希望使用正则表达式来删除单引号,加号以及它们之间的任何内容:

value=""

这就是我正在尝试的事情:

responseFromServer = Regex.Replace(responseFromServer, @"=""'\+.+?\+'""", "", RegexOptions.Singleline);

溶液:

responseFromServer = Regex.Replace(responseFromServer, "'[+].*[+]'", "", RegexOptions.Singleline);

3 个答案:

答案 0 :(得分:0)

string afterReplace = Regex.Replace(responseFromServer, @"'\+[^+]*\+'", "", RegexOptions.Singleline)

答案 1 :(得分:0)

以下是与给定示例中'++'之间的所有内容匹配的表达式:

'[+].*[+]'

如果您还希望与后方相匹配并向前看,您可以尝试:

(?<==")'[+].*[+]'(?=")

在比赛前检查=",在比赛结束后检查"

您也可以对此进行扩展,以便在=之前查找值名称,我希望这些名称会发生​​变化。取决于这些值名称可以包含的内容。

答案 2 :(得分:0)

我认为这会奏效。

Regex.Replace(responseFromServer, @"(')(\\+)((?:[a-z][a-z0-9_]*))(\\+)(')", "", RegexOptions.Singleline)