正则表达式删除c#中两个字符之间的文本

时间:2015-01-12 19:45:14

标签: c# .net regex

我有以下字符串,我需要删除 = select 和以下} char

之间的所有内容

离。 输入类型:=从电缆中选择前10种类型}

最终结果是只显示 Enter Type:

的字符串变量

我正在寻找一种方法来使用Regex,但我也对其他方法持开放态度。在此先感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

string input = "Enter Type:=select top 10 type from cable}";

System.Text.RegularExpressions.Regex regExPattern = new System.Text.RegularExpressions.Regex("(.*):=select.*}");
System.Text.RegularExpressions.Match match = regExPattern.Match(input);

string output = String.Empty;
if( match.Success)
{
    output = match.Groups[1].Value;
}

Console.WriteLine("Output = " + output);

'输出的值'变量将是":= select"之前找到的值。输入字符串的句段。如果您需要从输入字符串中提取其他信息,请将它括起来,将括号和匹配的内容添加到match.Groups数组中。顺便说一句,match.Groups [0] .Value的值是原始字符串。

答案 1 :(得分:0)

var rx = new Regex("=select[^}]*}");;

Console.WriteLine(rx.Replace ("Enter Type:=select top 10 type from cable}", ""));

Regexp.Replace(字符串输入,字符串输出)函数用字符串“output”替换匹配给定regexp的所有子字符串。第一行定义了匹配= select和}

之间的所有内容的regexp