Objective-C从字符串获取电子邮件地址
问题描述:
我有一个NSString包含几个电子邮件地址和一些其他随机文本。我希望能够提取电子邮件地址。例如,他们都有相同的域,例如@ business.com。最好的办法是什么?Objective-C从字符串获取电子邮件地址
样品字符串(HTML)
<td colspan="2" bgcolor="#000000">
<p align="center"><b><font color="#FFFFFF" size="2">title</font></b></p></td>
</tr>
<tr>
<td valign="top">
<font size="2"><b>lastname</b>, firstname A., [email protected]</font><br>
<font size="2"><b>lastname</b>, firstname A., [email protected]</font><br>
<font size="2"><b>lastname</b>, firstname, [email protected]</font><br>
<font size="2"><b>lastname</b>, firstname, [email protected]</font><br>
答
我把为您创造一个例子的自由,因为我很感兴趣,我自己:
NSString *someHTML = @"<b>lastname</b>, firstname, [email protected]</font><b>lastname</b>, firstname, [email protected]</font><b>lastname</b>, firstname, [email protected]</font>";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(\\w*@business.com)" options: NSRegularExpressionUseUnixLineSeparators error:nil];
NSArray *matches = [regex matchesInString:someHTML options:NSMatchingWithTransparentBounds range:NSMakeRange(0, someHTML.length)];
for (NSTextCheckingResult *result in matches)
{
NSString *email = [someHTML substringWithRange:[result range]];
NSLog(email);
}
是地址界定?基本上,我正在寻找一种模式。很可能,你可以使用'NSString'对象的'comonentsSeparatedByString:'方法。 – Jeremy 2013-02-15 22:45:05
不,它们是列出名称,位置,电子邮件等结果字符串的一部分,仅由换行符分隔 – Chase 2013-02-15 22:46:38
提供示例结果。正如Alex在答案中所暗示的那样,您可能会利用正则表达式。 – Jeremy 2013-02-15 22:48:56