我有一个像
这样的纯文本...
Registrant Email: trinhtuanhung@gmail.com
...
Admin E-mail:ng2tuan@gmail.com
我尝试将其放入htmlagilitypack以挑选所有电子邮件地址但没有结果返回
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var emails= doc.DocumentNode.SelectNodes("//*[contains(text(), '@')]");
答案 0 :(得分:0)
当文本文件只包含纯文本时,您无法使用Xpath执行此操作 试试这个:
private static List<String> ExtractMailsFromFile(string filename)
{
string data = File.ReadAllText(filename);
Regex emailRegex = new Regex(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", RegexOptions.IgnoreCase);
MatchCollection emailMatches = emailRegex.Matches(data);
return (from Match emailMatch in emailMatches select emailMatch.Value).ToList();
}