使用C#Regex删除div标记中包含的文本
我有一个字符串,如下所示:使用C#Regex删除div标记中包含的文本,c#,regex,C#,Regex,我有一个字符串,如下所示: string chart=“Label.;”在没有我的控制的情况下动态生成,并希望从封闭的div元素中删除文本“Label.” 我尝试了以下方法,但我的正则表达式知识仍然有限,无法使其正常工作: System.Text.RegularExpressions.Regex.Replace(chart,@“/(]+>)[^使用LinqPad我让这个代码段正常工作了。希望它能正确地解决您的问题 string chart = "<div id=\"divOne\">
string chart=“Label.;”
在没有我的控制的情况下动态生成,并希望从封闭的div元素中删除文本“Label.”
我尝试了以下方法,但我的正则表达式知识仍然有限,无法使其正常工作:
System.Text.RegularExpressions.Regex.Replace(chart,@“/(]+>)[^使用LinqPad我让这个代码段正常工作了。希望它能正确地解决您的问题
string chart = "<div id=\"divOne\">Label.</div>;";
var regex = new System.Text.RegularExpressions.Regex(@">.*<");
var result = regex.Replace(chart, "><");
result.Dump(); // prints <div id="divOne"></div>
string chart=“Label;”;
var regex=new System.Text.RegularExpressions.regex(@“>.*请为您的正则表达式尝试以下操作:
<div\b[^>]*>(.*?)<\/div>
]*>(**?)
下面生成输出
System.Text.RegularExpressions.Regex Regex=new System.Text.RegularExpressions.Regex(@“]*>(.*));
Console.WriteLine(regex.Replace(“标签1.”,“”));
Console.ReadLine();
您必须编写一个模式来选择div标记中的文本
Regex.Replace(chart,yourPattern,string.empty);
您的正则表达式在我看来很好(但不要指定'/…/i'
分隔符和修饰符)。并使用'$1$2'
作为替换字符串:
var re = new System.Text.RegularExpressions.Regex(@"(?i)(<div[^>]+>)[^<]+(<\/div>)");
var text = regex.Replace(text, "$1$2");
var re=new System.Text.RegularExpressions.Regex(@“(?i)(]+>)[^我被你的问题弄糊涂了;听起来你在解析一些预先生成的HTML,想删除
标记中出现的chart
值的所有实例。如果正确,请尝试以下操作:
”(]*>[^这里有一个比正则表达式更好的方法
var element = XElement.Parse("<div id=\"divOne\">Label.</div>");
element.Value = "";
var value = element.ToString();
var-element=XElement.Parse(“Label”);
元素。值=”;
var value=element.ToString();
工作正常,但我只需要替换中间的文本。工作正常!但要回答以下问题:1.(?I)的作用是什么?;2.$1$2如何返回没有文本的封闭元素,我的意思是问为什么string.empty不能仅替换内部的文本。(?I)
打开不区分大小写的模式。$1$2
表示:“将匹配字符串替换为捕获组1,然后再替换为捕获组2”我们在组1中捕获DIV start标记,在组2中捕获close标记。内容未捕获,因此被丢弃,这是非常基本的内容。有关更多详细信息,请参阅:上的教程。快乐regexing!
var re = new System.Text.RegularExpressions.Regex(@"(?i)(<div[^>]+>)[^<]+(<\/div>)");
var text = regex.Replace(text, "$1$2");
var element = XElement.Parse("<div id=\"divOne\">Label.</div>");
element.Value = "";
var value = element.ToString();