繁体   English   中英

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

[英]Regex to remove text between two chars in c#

我有以下字符串,需要删除= select和以下} char之间的所有内容

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

最终结果是仅显示Enter Type的字符串变量

我一直在寻找使用Regex做到这一点的方法,但是我也欢迎其他方法。 先谢谢您的帮助。

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的值是原始字符串。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM