H5W3
当前位置:H5W3 > 问答 > 正文

求 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");
}
......

}

回答:

这个思路不错

本文地址:H5W3 » 求 c# 同时去掉 table tr td 这三个的width属性的正则表达式

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址