2

フィードを読んでいますが、たとえば「Feedfor03/02/2012」で文字列形式の出現を見つける必要があります。これで、この日付は常に%@ /%@ /%@の形式になります。この形式が発生するかどうかを確認して、日付を抽出する必要があります。日付と月は任意なので、検索する特定の日付はありません。ドキュメントを検索しましたが、見つかりませんでした。私に可能な唯一のオプションは、「/ 12 /」のような月の12の組み合わせすべてを取り、これらのいずれかの発生を見つけるようです。

より良いアプローチはありますか?

4

1 に答える 1

5

正規表現を使用できます。

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]];
    //...
}];
于 2012-05-19T12:36:57.297 に答える