2010-08-19 135 views
12

我想問一個關於目標C的問題嗎?NSString *是否包含一些函數來檢查NSString *在UITextField.text中包含一些字符串?例如如何檢查NSString是否包含'%'?

NSString *checkString = @"abcd%" 

if(checkString contains '%') // I want this function 
    return YES; 
else 
    return NO; 
+0

的UITextField總是包含一個字符串。 – jtbandes 2010-08-19 06:48:38

+0

@jtbandes,謝謝你的回覆。我根據評論改變了問題。請看一下。 – Questions 2010-08-19 07:03:10

回答

7

您可以使用- (NSRange)rangeOfString:(NSString *)aString。該代碼將看起來像:

NSRange range = [UITextField.text rangeOfString:@"!"]; 

if (range.length > 0){ 
    NSLog(@"String contains '!'"); 
} 
else { 
    NSLog(@"No '!' found in string"); 
} 
+2

range.length是NSUinteger。它總是> = 0 [link](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_DataTypes/Reference/reference.html#//apple_ref/doc/uid/ 20000018-SW23) – jackal 2012-11-15 18:14:38

+0

謝謝,沒錯。我編輯了我的評論。它應該是> 0。 – 2012-11-17 11:24:33

44
if([checkString rangeOfString:@"%"].location != NSNotFound) 
    // hooray! 
+0

在一條線上,就像我們愛他們一樣! – 2012-01-17 04:37:50

+3

'if([checkString rangeOfString:@「%」]。length)//更簡潔' – wxactly 2013-02-08 19:26:03

2

從以前的帖子中的代碼是不正確的

NSRange range = [UITextField.text rangeOfString:@"!"]; 

if (range.length >= 0){ 
    NSLog(@"String contains '!'"); 
} 
else { 
    NSLog(@"No '!' found in string"); 
} 

它應該是 「range.length> 0」