如何使用html标签过滤NSString中的数字?

时间:2015-04-09 13:02:01

标签: html ios objective-c nsstring nsattributedstring

我有一个带有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>

有人可以帮助我吗? 提前谢谢。

2 个答案:

答案 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);
}
希望它有所帮助!