检查NSMutableString是否不包含特定的char

时间:2011-04-21 05:17:00

标签: objective-c nsmutablestring

有没有办法检测NSString是否不包含特定的char(在这种情况下它是“ - ”)?例如,如果我有NSString @"-OU"并且NSString @"YOU"有一种方法可以在字符串为@"YOU"而非@"-OU"时触发UIAlert吗?

编辑:顺便说一下,我正在尝试为任何字符串创建动态。我目前有以下代码,想知道这是否可行:

  - (BOOL) isDone:(NSString *)str{

       unichar dash = '-';

    for(int i = 0; i < [str length]; i ++){
        if([str characterAtIndex:i] != dash){
            return YES;
        }

        else{
            return NO;
        }
    }

}

此代码目前在xcode中抛出以下警告:“控件可能会达到非空函数的结束”。

2 个答案:

答案 0 :(得分:5)

试试这个

NSString *yourString=@"-OU";  
if ([yourString rangeOfString:@"-"].location == NSNotFound) {
  NSLog(@"string does not contain -");
} else {
  NSLog(@"string contains -");
}

答案 1 :(得分:0)

如果您尝试使用自己的构建函数测试破折号是否在单词中,我会这样做

 - (BOOL) isDone:(NSString *)str{

       unichar dash = '-';

    for(int i = 0; i < [str length]; i ++){
        if([str characterAtIndex:i] == dash){
            return YES;
        }

    }
    return NO;

}

这样它会循环遍历整个字符串,直到找到破折号,并在找到破折号后立即终止,否则一旦完成检查整个字符串就会返回NO。