我有一个带有html标签的NSString。我想要字符串中的电话号码。
<div><a href="tel:12345" x-apple-data-detectors="true" x-apple-data-detectors-type="telephone" x-apple-data-detectors-result="0">473737474747</a></div>
有人可以帮我解决这个问题吗?提前谢谢。
NSString *str = @"<div><a href="tel:12345" x-apple-data-detectors="true" x-apple-data-detectors-type="telephone" x-apple-data-detectors-result="0">473737474747</a></div>";
NSError *error;
NSDataDetector *detector = [[NSDataDetector alloc] initWithTypes:NSTextCheckingTypePhoneNumber error:&error];
NSArray * matches = [detector matchesInString:str options:0 range:NSMakeRange(0, str.length)];
for(NSTextCheckingResult *match in matches)
{
NSString *phoneNumber = match.phoneNumber;
NSLog(@"%@",phoneNumber);
}
希望对您有所帮助!
这并不容易完成,因为数据嵌入在复杂的结构中。格式的简单更改可以广泛影响您的代码。简单地考虑一下正文包含格式为"tel:12345"的字符串的情况,太......
处理这个问题的最可靠方法是使用 html 解析器。
你从哪里得到字符串?