如何在长NSString中找到动态数字?

时间:2013-01-07 05:21:12

标签: iphone ios ipad

我有一个非常大的NSString,其中包含大约1500个字符。在这个字符串中,我需要提取一个可能经常更改的电话号码,因为它是一个动态数据。电话号码的格式为251-221-2000,我该如何提取?

3 个答案:

答案 0 :(得分:5)

查看有关正则表达式和NSString的上一个问题。

Search through NSString using Regular Expression

在您的情况下,适当的正则表达式为@"\\d{3}-\\d{3}-\\d{4}"

答案 1 :(得分:0)

这听起来像是正则表达式的完美候选者。您可以使用NSRegularExpression类来实现此目的。您可以在http://www.regextester.com

测试正则表达式

答案 2 :(得分:0)

NSString *yourString = @"Your 1500 characters string ";
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression         
regularExpressionWithPattern:@"\d{3}-\d{3}-\d{4}"
options:NSRegularExpressionCaseInsensitive
error:&error];
[regex enumerateMatchesInString:yourString options:0 range:NSMakeRange(0, [yourString length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){
// your code to handle matches here
}];  

让我知道它是否有效。