NSString вопрос - метод rangeOfString - PullRequest
30 голосов
/ 17 августа 2010

У меня проблема, которую я не могу понять.

Я пытаюсь запустить метод rangeOfString для строки, и я не уверен, как определить, не была ли найдена строка. Например:

NSRange range = [@"abc" rangeOfString:@"d" options:NSCaseInsensitiveSearch range:NSMakeRange(0,3)];

Очевидно, что "d" не содержится в строке "abc." Я хотел бы иметь возможность сделать это:

if(the range is empty since "d" is not in "abc")
   //do something

Какой код для этого?

Спасибо !!

Ответы [ 2 ]

71 голосов
/ 17 августа 2010

Из документации NSString

-[NSString rangeOfString]

Возвращаемое значение

Структура NSRange, указывающая местоположение и длину в приемнике первого вхождениястрока.Возвращает {NSNotFound, 0} , если aString не найден или пуст (@ "").

Так выглядит:

if ([@"abc" rangeOfString:@"d"].location == NSNotFound){
  //Do something

Isодобренный Apple способ.

РЕДАКТИРОВАТЬ:

Я сделал действительно плохую опечатку, исправил ее, спасибо Калле.

14 голосов
/ 17 августа 2010

Проверьте длину диапазона.Если он не равен нулю, он был найден.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...