Как узнать конкретный символ присутствует в NSString или нет?
У меня есть две NSStrings с именем country и searchtext. Мне нужно проверить, содержит ли страна поисковый текст.
Например: country = Исландия и searchtext = c, здесь слово iceland содержит символ 'c'.
Спасибо.
Ответы
Ответ 1
Попробуйте следующее:
NSRange range = [country rangeOfString:searchtext];
if (range.location != NSNotFound)
{
}
У вас также есть позиция (местоположение) и длина вашего матча (неинтересная в этом случае, но может быть интересной в других) в вашем объекте диапазона. Обратите внимание, что searchtext
не должно быть nil
. Если вас интересует только сопоставление (а не местоположение), вы можете даже сконденсировать это в
if ([country rangeOfString:searchtext].location != NSNotFound)
{
}
Ответ 2
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");
}
Ответ 3
Очень просто... попробуйте это
-(BOOL)doesString:(NSString *)string containCharacter:(char)character
{
if ([string rangeOfString:[NSString stringWithFormat:@"%c",character]].location != NSNotFound)
{
return YES;
}
return NO;
}