NSString вопрос - метод rangeOfString

У меня возникла проблема, которую я не могу выяснить.

Я пытаюсь запустить метод 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

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

Спасибо !!

31
задан CodeGuy 17 August 2010 в 15:55
поделиться

2 ответа

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

-[NSString rangeOfString]

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

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

Итак, это выглядит так:

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

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

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

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

72
ответ дан 27 November 2019 в 21:40
поделиться

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

14
ответ дан 27 November 2019 в 21:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: