如何找出特定字符是否存在于NSString中?

时间:2011-12-15 09:23:21

标签: ios xcode nsstring

我有两个名为country和searchtext的NSStrings。我需要检查国家/地区是否包含searchtext。

例如:country = Iceland和searchtext = c,这里的单词iceland包含字符'c'。

感谢。

3 个答案:

答案 0 :(得分:42)

试试这个:

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

您还可以在范围对象中获得匹配的位置(位置)和长度(在这种情况下无趣,但在其他情况下可能很有趣)。请注意,searchtext不得为nil。如果您只对匹配(而不是位置)感兴趣,您甚至可以将其浓缩为

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

答案 1 :(得分:8)

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 :(得分:2)

很简单......试试这个

-(BOOL)doesString:(NSString *)string containCharacter:(char)character
{
    if ([string rangeOfString:[NSString stringWithFormat:@"%c",character]].location != NSNotFound)
    {
        return YES;
    }
    return NO;
}