如何使用 html 标记从 NSString 中过滤数字



我有一个带有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 解析器。

你从哪里得到字符串?

最新更新