求 c# 同时去掉 table tr td 这三个的width属性的正则表达式

后端一个字段中保存的html字符串,要求用c#的正则表达式去掉html字符串中的table、tr、td这三个标签里的width属性

回答:

一楼正解,用正则去处理字符串里的节点属性,不仅麻烦,不确定性很大。

我这里使用了NSoup来处理html字符串里的地址,当然还有其他方法:

//如果出现中文乱码转一下

String HtmlString = Encoding.GetEncoding("gb2312").GetString(html);

NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString);

//这里是根据class获取到节点集合

Elements lists = doc.GetElementsByClass("citytr");

foreach (Element element in lists)

{

//这里是获取首个子节点里面的集合

Element elements_code = element.Children[0];

Element elements_name = element.Children[1];

if (elements_code.Children.Count > 0)

{

elements_code = elements_code.Children[0];

elements_name = elements_name.Children[0];

}

string newurls = "";

if (elements_code.HasAttr("href")) {

string thisUrl = dt.Rows[i]["Urls"].ToString();

newurls = thisUrl.Substring(0, thisUrl.LastIndexOf('/') + 1) + elements_code.Attr("href");

}

......

}

回答:

这个思路不错

以上是 求 c# 同时去掉 table tr td 这三个的width属性的正则表达式 的全部内容, 来源链接: www.h5w3.com/122125.html

回到顶部