0

有没有办法检测 NSString 是否不包含特定的字符(在这种情况下是“-”)?例如,如果我有 NSString@"-OU"和 NSString@"YOU"有没有办法在字符串是@"YOU"而不是时触发 UIAlert @"-OU"

编辑:顺便说一句,我试图使任何字符串都动态化。我目前有以下代码,想知道这是否可行:

  - (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 中引发以下警告:“控件可能到达非无效函数的结尾”。

4

2 回答 2

5

尝试这个

NSString *yourString=@"-OU";  
if ([yourString rangeOfString:@"-"].location == NSNotFound) {
  NSLog(@"string does not contain -");
} else {
  NSLog(@"string contains -");
}
于 2011-04-21T05:26:09.277 回答
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。

于 2011-04-21T06:18:15.657 回答