2011-12-05 15 views

cevap

46

kullanım rangeOfCharactersFromSet:

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

not: bu da ifadenin başındaki ve sonundaki boşlukları bulacaksınız. Eğer bu ilk dizeyi ...

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

Döşeme istemiyorsanız Ayrıca, aşağıdaki adımları izleyin:

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

sizin dizede herhangi bir boşluk varsa, o zaman bu ayrı olacak ve dizideki farklı bileşenleri depolar. Şimdi dizi sayısını almanız gerekiyor. Sayım 1'den büyükse, iki bileşen, yani beyaz alanın varlığı anlamına gelir.

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

. Daha uzun 'testString' ise, kullandığım "rangeOfCharacterFromSet:" yöntemine göre daha yavaş olur. Bu sabah sıkıldığım için, her iki yöntemin performansını karşılaştırdım ve bir [blog yazısı] yazdım (http://matthiasbauch.com/2013/05/26/stackoverflow-how-to-check-whether-a-string- bununla ilgili-beyaz-boşluklar /) içerir. –

İlgili konular