NSP предикат не работает - PullRequest
       13

NSP предикат не работает

1 голос
/ 06 декабря 2011

У меня есть эта строка: <td align="right"><span>&nbsp;19:45&nbsp;</span></td>

Я хочу использовать NSPredicate для поиска части 19:45, но все возможные комбинации, которые я пробовал, ничего не возвращают! Я теряю свои шарики, поэтому помогите!

Вещи, которые я пробовал:

NSString *timeStringPredicate = @"[0-9]:[0-9]";
NSPredicate *timeSearch = [NSPredicate predicateWithFormat:@"SELF like %@", timeStringPredicate];

if ([timeSearch evaluateWithObject:dayText]) {
NSLog(@"This is a time");
}

Или в этих возможностях:

NSString *timeStringPredicate = @"[0-9]\\:[0-9]";
NSString *timeStringPredicate = @"*[0-9]:[0-9]*";
NSString *timeStringPredicate = @"*[0-9]\\:[0-9]*";
NSString *timeStringPredicate = @"*.[0-9]:[0-9].*";
NSString *timeStringPredicate = @"*.[0-9]\\:[0-9].*";

И обо всем остальном.

Помощь!

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

like не использует синтаксис регулярных выражений.Для этого вам нужно использовать matches.Подробнее см. Руководство по программированию предиката .

NSString *timeStringPredicate = @".*\\:[0-9].*";

NSPredicate *timeSearch = [NSPredicate predicateWithFormat:@"SELF matches %@", timeStringPredicate];

0 голосов
/ 08 мая 2013

Попробуйте сделать это:

NSString *timeStringPredicate = @".*\\:[0-9].*";
NSPredicate *timeSearch = [NSPredicate predicateWithFormat:@"SELF matches '%@'", timeStringPredicate];
...