如何在 NSString 中查找格式的出现



我正在阅读一个提要,需要查找字符串格式的出现,例如,在"03/02/2012"中。现在,此日期将始终采用以下格式:%@/%@/%@。我需要找到这种格式是否发生,从而提取日期。日期和月份可以是任何日期,所以我没有要搜索的特定日期。我在文档中搜索,找不到。对我来说唯一可能的选项似乎是将一个月的所有 12 种组合(如"/12/"(都包括在内,并找到其中任何一个的出现。

有没有更好的方法?

您可以使用正则表达式:

NSString *feed = @"Feed for 03/02/2012";
NSError *error;
NSRegularExpression *regex = [NSRegularExpression         
    regularExpressionWithPattern:@"([0-9]{1,2})/([0-9]{1,2})/([0-2][0-9]{3})"
    options:NSRegularExpressionCaseInsensitive
    error:&error];
[regex enumerateMatchesInString:feed options:0 range:NSMakeRange(0, [feed length])    usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){
    NSString *month = [feed substringWithRange:[match rangeAtIndex:1]];
    NSString *day = [feed substringWithRange:[match rangeAtIndex:2]];
    NSString *year = [feed substringWithRange:[match rangeAtIndex:3]];
    //...
}];

相关内容

  • 没有找到相关文章

最新更新