我有一个非常大的NSString
,其中包含大约1500个字符。在这个字符串中,我需要提取一个可能经常更改的电话号码,因为它是一个动态数据。电话号码的格式为251-221-2000
,我该如何提取?
答案 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
}];
让我知道它是否有效。