【发布时间】:2019-08-22 01:47:57
【问题描述】:
我正在尝试解析一封多行电子邮件,以便获取位于电子邮件正文标题下的换行符上的数据。 它看起来像这样:
EMAIL STARTING IN APRIL
Marketing ID Local Number
------------------- ----------------------
GR332230 0000232323
Dispatch Code Logic code
----------------- -------------------
GX3472 1
Destination ID Destination details
----------------- -------------------
3411144
当我使用字符串阅读器 readline 时,我似乎在每个消息框上都得到了所有内容,尽管我想要的只是每个 ------ 下的数据,如图所示
这是我的代码:
foreach (MailItem mail in publicFolder.Items)
{
if (mail != null)
{
if (mail is MailItem)
{
MessageBox.Show(mail.Body, "MailItem body");
// Creates new StringReader instance from System.IO
using (StringReader reader = new StringReader(mail.Body))
{
string line;
while ((line = reader.ReadLine()) !=null)
//Loop over the lines in the string.
if (mail.Body.Contains("Marketing ID"))
{
// var localno = mail.Body.Substring(247,15);//not correct approach
// MessageBox.Show(localrefno);
//MessageBox.Show("found");
//var conexid = mail.Body.Replace(Environment.NewLine);
var regex = new Regex("<br/>", RegexOptions.Singleline);
MessageBox.Show(line.ToString());
}
}
//var stringBuilder = new StringBuilder();
//foreach (var s in mail.Body.Split(' '))
//{
// stringBuilder.Append(s).AppendLine();
//}
//MessageBox.Show(stringBuilder.ToString());
}
else
{
MessageBox.Show("Nothing found for MailItem");
}
}
}
您可以看到我曾多次尝试使用它,甚至使用子字符串位置和正则表达式。请帮我获取---下每一行的数据。
【问题讨论】:
-
我在两个解决方案中都添加了现场演示,请查看。