2011-12-05 94 views

Trả lời

46

sử dụng rangeOfCharactersFromSet:

NSString *foo = @"HALLO WELT"; 
NSRange whiteSpaceRange = [foo rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]]; 
if (whiteSpaceRange.location != NSNotFound) { 
    NSLog(@"Found whitespace"); 
} 

lưu ý: đây cũng sẽ tìm thấy khoảng trắng ở đầu hoặc cuối của chuỗi. Nếu bạn không muốn điều này cắt chuỗi đầu tiên ...

NSString *trimmedString = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
NSRange whiteSpaceRange = [trimmedString rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]]; 
4

Bạn cũng có thể làm theo các bước sau:

NSArray *componentsSeparatedByWhiteSpace = [testString componentsSeparatedByString:@" "]; 

Nếu có bất kỳ khoảng trắng trong chuỗi của bạn, sau đó nó sẽ tách những người và lưu trữ các thành phần khác nhau trong mảng. Bây giờ bạn cần phải tính số lượng mảng. Nếu số đếm lớn hơn 1, điều đó có nghĩa là có hai thành phần, tức là sự hiện diện của khoảng trắng.

if([componentsSeparatedByWhiteSpace count] > 1){ 
    NSLog(@"Found whitespace"); 
} 
+3

Hãy nhận biết rằng đây là rất chậm. 'TestString' dài hơn, chậm hơn so với phương thức' rangeOfCharacterFromSet: 'mà tôi đã sử dụng. Bởi vì tôi đã chán vào sáng nay, tôi so sánh hiệu suất của cả hai phương pháp và viết một [bài đăng trên blog] (http://matthiasbauch.com/2013/05/26/stackoverflow-how-to-check-whether-a-string- contains-white-spaces /) về nó. –

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