Мне нужно сопоставить мою строку таким образом: *myString*
где * означает любую подстроку.
какой метод я должен использовать?
можете ли вы мне помочь?
Ответ 1
Если это для iPhone OS 3.2 или новее, используйте NSRegularExpressionSearch.
NSString *regEx = [NSString stringWithFormat:@".*%@.*", yourSearchString];
NSRange range = [stringToSearch rangeOfString:regEx options:NSRegularExpressionSearch];
if (range.location != NSNotFound) {
}
Ответ 2
Вы не можете выполнять фактический поиск с использованием символа * (подстановочный знак), но обычно вы можете сделать что-то эквивалентное:
Эквивалентно поиску theTerm*:
if ([theString hasPrefix:@"theTerm"]) {
Эквивалентен поиску *theTerm:
if ([theString hasSuffix:@"theTerm"]) {
Или, используя категорию на NSString, показанную ниже, эквивалентно поиску *theTerm*:
if ([theString containsString:@"theTerm"]) {
Категория - это просто новый метод (например, функция), который мы добавляем к классу. Я написал следующее, потому что для меня обычно имеет смысл думать о одной строке, содержащей другую, вместо того, чтобы иметь дело с NSRange s.