有没有办法检测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中抛出以下警告:“控件可能会达到非空函数的结束”。
答案 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。