首页 新闻 搜索 专区 学院

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

0
悬赏园豆:10 [已解决问题] 解决于 2021-03-11 10:00

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

逗多多的主页 逗多多 | 初学一级 | 园豆:89
提问于:2021-03-09 16:25
< >
分享
最佳答案
0

一楼正解,用正则去处理字符串里的节点属性,不仅麻烦,不确定性很大。
我这里使用了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");
}
......

}

收获园豆:10
TenFly | 初学一级 |园豆:26 | 2021-03-11 09:28

这个思路不错

逗多多 | 园豆:89 (初学一级) | 2021-03-11 09:59
其他回答(1)
0

别用正则去,直接用XML来去width方便多了,正则各种问题和不全

56180825 | 园豆:1538 (小虾三级) | 2021-03-10 20:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册