我正在使用下面的代码来检索运费从amazon.com通过扫描任何产品的网页的html源代码。但输出不是我想要的。下面的代码。
regexString = "<span class=\"plusShippingText\">(.*)</span>";
match = Regex.Match(htmlSource, regexString);
string shipCost = match.Groups[1].Value;
MessageBox.Show(shipCost);
它显示一个消息框,显示返回运费为
+ Free Shipping</span>
但实际上我只需要以下干净的文本。
Free Shipping
请帮我解决这个问题。
2条答案
按热度按时间jaxagkaj1#
你能试试下面的代码吗(尽管使用regex进行HTML解析是个坏主意):
您的正则表达式几乎没有问题,您只需要将贪婪的
(.*)
替换为懒惰的(.*?)
。怎么可能用
HtmlAgilityPack
解决呢。现在,您可以免受Amazon决定向
<span>
添加一些附加属性的影响,例如:<span class='plusShippingText newClass'>
或<span style='{color:blue}' class='plusShippingText'>
等等。yeotifhr2#
您需要删除HTML标签,可以使用以下功能: