使用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();