我有一个带有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>
有人可以帮助我吗? 提前谢谢。
答案 0 :(得分:1)
这不容易,因为数据嵌入在复杂的结构中。格式的简单更改可能会对您的代码产生广泛影响。简单地想一下,正文包含一个格式为字符串的字符串&#34; tel:12345&#34;也是......
最有效的处理方法是使用html-parser。
你从哪里得到字符串?
答案 1 :(得分:1)
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);
}
希望它有所帮助!