2011-04-21 78 views
0

有沒有辦法來檢測NSString是否不包含特定的字符(在這種情況下,它是一個「 - 」)?例如,如果我有NSString @"-OU"和NSString @"YOU"有沒有辦法在字符串爲@"YOU"而不是@"-OU"時觸發UIAlert?檢查是否NSMutableString不包含特定的字符

編輯:順便說一下,我試圖使任何字符串的動態。目前,我有以下代碼,想知道這是否可以正常工作:

- (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以下警告:「控制可能達到非void函數的末尾」。

回答

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。

+0

ahhh好趕上謝謝你!但實際上,我需要在您的示例中反轉YES和NO(爲您所做)。 – locoboy 2011-04-21 06:29:09

+0

請注意,我將if語句從!=更改爲==來簡化操作,但是這一切都取決於您希望返回的值。 – Mike 2011-04-21 15:28:19

+0

檢查下面的答案 - 使用'rangeOfString' – John 2013-03-19 22:35:24

5

試試這個

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

看到上面的編輯 – locoboy 2011-04-21 05:33:33

+0

即時通訊不太確定你試圖做什麼,你只是測試如果第一個字符是否是破折號?如果是,那麼爲什麼要循環?你的循環在第一個字符之後被終止,無論它是真還是假 – Mike 2011-04-21 05:57:31

+0

我只是試圖測試這個單詞中是否有破折號。 – locoboy 2011-04-21 06:10:51

相關問題