我需要拆分此/类似字符串以获取 VALUE
<a href="javascript:void(0);" id="def_" name="color" rel="ml">VALUE</a>
我可以 String.Split(“&gt;”),然后是另一个 StringArr [1] .Split(“&lt;”),但效率不高,笨重。
这样做的方法是什么?
答案 0 :(得分:4)
你需要一个解析器,尝试拆分字符串只是一个临时的黑客攻击。查看HtmlAgilityPack
对于您的示例HTML,我们希望如此:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(inputHtml);
var text = doc.DocumentNode
.Descendants("a")
.Where(x => x.Attributes["id"]!=null &&
x.Attributes["id"].Value == "def_")
.First()
.InnerText;
答案 1 :(得分:3)
您可以使用数组,例如
split(new char[]{'<','>'}
示例
"<a href='javascript:void(0);' id='def_' name='color' rel='ml'>VALUE</a>".Split(new char[]{'<','>'})
返回结果,例如
a href='javascript:void(0);' id='def_' name='color' rel='ml'
VALUE
/a
这是该问题的一般解决方案。如果您打算与HTML
一起工作,不要以这种方式使用,而是使用特定的HTML
解析器。