2010-08-19 29 views
12

Tôi muốn đặt câu hỏi về mục tiêu C. Liệu NSString * có chứa một số chức năng để kiểm tra NSString * có chứa một số chuỗi trong UITextField.text không? Ví dụCách kiểm tra NSString có chứa '%' hay không?

NSString *checkString = @"abcd%" 

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

UITextField luôn chứa một chuỗi. – jtbandes

+0

@jtbandes, cảm ơn bạn đã trả lời. Tôi đã thay đổi câu hỏi dựa trên các ý kiến. Xin vui lòng xem qua. – Questions

Trả lời

7

Bạn có thể sử dụng - (NSRange)rangeOfString:(NSString *)aString. Mã sẽ giống như thế:

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

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

range.length là NSUinteger. luôn luôn> = 0 [liên kết] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_DataTypes/Reference/reference.html#//apple_ref/doc/uid/ 20000018-SW23) – jackal

+0

Cảm ơn, đúng vậy. Tôi đã chỉnh sửa bình luận của mình. Nó phải> 0. –

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

Trên một dòng, như chúng ta yêu họ! –

+3

'if ([checkString rangeOfString: @"% "]. Length) // thậm chí ngắn gọn hơn – wxactly

2

Mã từ bài trước là không đúng

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

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

Nó sẽ được "range.length> 0"

Các vấn đề liên quan