Как узнать, присутствует ли конкретный символ в строке NSString или нет? - PullRequest
13 голосов
/ 15 декабря 2011

У меня есть две строки NSS с именем country и searchtext. Мне нужно проверить, содержит ли страна текст поиска.

Например: страна = Исландия и searchtext = c, здесь слово исландия содержит символ 'c'.

Спасибо.

Ответы [ 3 ]

42 голосов
/ 15 декабря 2011

Попробуйте это:

NSRange range = [country rangeOfString:searchtext];
if (range.location != NSNotFound)
{
}

У вас также есть позиция (местоположение) и длина вашего соответствия (неинтересно в этом случае, но может быть интересно в других) в вашем объекте диапазона. Обратите внимание, что searchtext не должно быть nil. Если вас интересует только сопоставление (а не местоположение), вы можете даже сжать это до

if ([country rangeOfString:searchtext].location != NSNotFound)
{
}
8 голосов
/ 15 декабря 2011
NSString *st =    @"Iceland";
NSString *t_st = @"c";      
NSRange rang =[st rangeOfString:t_st options:NSCaseInsensitiveSearch];

   if (rang.length == [t_st length]) 
   {
          NSLog(@"done");
   }
   else
   {
          NSLog(@"not done");
   }
2 голосов
/ 29 марта 2014

Очень просто ... попробуйте это

-(BOOL)doesString:(NSString *)string containCharacter:(char)character
{
    if ([string rangeOfString:[NSString stringWithFormat:@"%c",character]].location != NSNotFound)
    {
        return YES;
    }
    return NO;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...