1

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

4

3 回答 3

5

查看上一个关于正则表达式和NSString.

使用正则表达式搜索 NSString

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

于 2013-01-07T05:29:18.653 回答
0

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

于 2013-01-07T05:27:53.200 回答
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
}];  

让我知道它是否有效。

于 2013-01-07T05:31:16.687 回答