Nspredicate для совпадающей строки содержит указанные символы - PullRequest
0 голосов
/ 07 декабря 2018

Есть ли способ, которым мы можем использовать nspredicate, как это?

String = whvat

Я хочу найти строку, если она содержит эти символы [what] {4}.Это не вернет true для вышеуказанной строки, так как v не найден.Я в основном хочу, чтобы предикат возвращал true, если строка содержит n символов.В строке могут быть другие символы, но указанный должен обязательно присутствовать.Порядок символов не имеет значения.Даже если я дам [hwta], он все равно должен дать мне слово whvat, потому что найдено 4 указанных символа

1 Ответ

0 голосов
/ 13 декабря 2018

Это не очень элегантно, но вы можете попытаться создать предикат для каждого символа:

NSPredicate *p = [NSPredicate predicateWithFormat:@"self contains 'w' and self contains 'h' and self contains 'a' and self contains 't'"];
NSString *string = @"what";
NSLog(@"%d ", [p evaluateWithObject:string]);
...