我正在抓取表的innertext,但是这一列有工具提示,HTMLAgilityPack函数完全抓取工具提示和完全准确的数据。
假设我只是想要他们的名字而我不需要
之前的所有单词,包括
本身。我可以知道如何实现这一目标吗?
Antony Jenkins held the position of CEO at Barclays at the time of this trade. Antony Jenkins
Frits Van Paasschen held the position of Non-Executive Director at Barclays at the time of this trade. Frits Van Paasschen
David A Walker held the position of Non-Executive Chairman at Barclays at the time of this trade. David A Walker
我尝试使用cols6[j].InnerText.Replace (" ", "")
,但除了
本身之外,它显然不会删除前面的那些字。
任何帮助将不胜感激!谢谢!
根据Alexei的要求,HTML表格如下:
<tr><th>Trade Date</th><th>Action</th><th>Notifier</th><th>Price</th><th>Currency</th><th>Amount</th><th>Holding</th></tr>
<tr class="on"><td>13-Dec-13</td><td>Scrip Dividend</td><td><div class="TradesInfo"><img onmouseover="$('#TradePopD0').css('visibility', 'visible');" onmouseout="$('#TradePopD0').css('visibility', 'hidden');" src="http://static.lse.co.uk/images/icons/info.png" width="14" height="14" align="left" alt="Trade Notifier Information for Barclays"><div class="TradesPop" id="TradePopD0">Antony Jenkins held the position of CEO at Barclays at the time of this trade.</div></div> Antony Jenkins</td><td>0</td><td></td><td>71</td><td>0</td></tr>
一切都很好,只是带有工具提示的专栏。
答案 0 :(得分:1)
考虑使用String.Substring和String.IndexOf。
的组合作为一个非常粗略的例子..
private static string RemoveStringStart(string text)
{
var splitAt = " ";
if (text.Contains(splitAt))
{
text = text.Substring(text.IndexOf(splitAt) + splitAt.Length);
}
return text;
}
答案 1 :(得分:1)
您可以使用正则表达式忽略所有内容,直到&amp; NBSP;
答案 2 :(得分:1)
在Jquery中:http://jsfiddle.net/qG4Px/2/
在C#中:
string test = "Some text more text";
test.Remove(0,test.IndexOf(" ")+6);
答案 3 :(得分:0)
回答我自己的问题,感谢所有给我提示:D
我试过这个并且它有效。这不会考虑<div></div>
中的任何<td></td>
,而只需要<td></td>
HtmlNodeCollection cols3 = rows[i].SelectNodes(".//td[3]/text()");
:)