我正试图从电子邮件中提取BookingID
。
电子邮件将始终包含以下文字,但BookingID
将始终不同。
WEB BOOKING ID号码:12345678
我已尝试过以下内容,但它只是给了我BookingID +其后的电子邮件。
string search = "WEB BOOKING ID NUMBER: ";
string bookingID = myItem.Body.Text.Substring(myItem.Body.Text.IndexOf(search) + search.Length);
请注意,BookingID
的长度始终相同(8个字符)。
我非常感谢你的帮助。
答案 0 :(得分:5)
使用正则表达式:
var search = @"WEB BOOKING ID NUMBER:\s*([0-9]+)";
var match = Regex.Match(myItem.Body.Text, search);
var res = string.Empty;
if (match.Success)
{
res = match.Groups[1].Value;
}
WEB BOOKING ID NUMBER:\s*([0-9]+)
模式将找到WEB BOOKING ID NUMBER:
文本,后跟0 +空白字符(\s*
),并将捕获到第1组中的一个或多个数字(([0-9]+)
)。< / p>
请参阅regex demo here:
答案 1 :(得分:2)
使用second argument Substring
功能来限制提取部分的长度:
const string search = "WEB BOOKING ID NUMBER: ";
var bookingID = myItem.Body.Text.Substring(myItem.Body.Text.IndexOf(search) + search.Length, 8);