2011-12-05 136 views

回答

46

使用rangeOfCharactersFromSet:

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

注意:這也將在字符串的開頭或結尾找到空白。如果你不希望這樣修剪字符串第一...

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

您也可以按照下列步驟操作:

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

如果在你的字符串中的任何空白,那麼它將把這些分開和在數組中存儲不同的組件。現在你需要獲取數組的數量。如果count大於1,則意味着有兩個組件,即存在空白區域。

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

要知道,這是非常緩慢的。與'rangeOfCharacterFromSet:'方法相比,'testString'的長度越長,它所得到的速度就越慢。因爲今天早上我很無聊,我比較了兩種方法的表現,並寫了一篇[博客文章](http://matthiasbauch.com/2013/05/26/stackoverflow-how-to-check-whether-a-string-包含白色空間/)關於它。 –

相關問題