2011-12-05 8 views
22

यह जांचने के लिए कि क्या किसी स्ट्रिंग में अक्षरों के बीच सफेद जगहें हैं या नहीं?यह जांचने के लिए कि क्या स्ट्रिंग में सफेद रिक्त स्थान हैं

+0

चेक निम्नलिखित यूआरएल: http://stackoverflow.com/questions/4645649/remove-whitespace-from-string-in-objective-c ध्यान रखें कि यह बहुत धीमी है रहो – Saranya

उत्तर

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:@" "]; 

यदि आपके स्ट्रिंग में कोई खाली स्थान के है, तो यह उन अलग और होगा सरणी में विभिन्न घटकों को स्टोर करें। अब आपको सरणी की गिनती लेने की जरूरत है। यदि गिनती 1 से अधिक है, तो इसका मतलब है कि दो घटक हैं, यानी, सफेद स्थान की उपस्थिति।

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

। जितना लंबा 'testString' है, धीमा यह 'rangeOfCharacterFromSet:' विधि की तुलना में धीमा हो जाता है जिसका मैंने उपयोग किया है। क्योंकि मैं आज सुबह ऊब गया था, मैंने दोनों तरीकों के प्रदर्शन की तुलना की और एक [ब्लॉग पोस्ट] लिखा (http://matthiasbauch.com/2013/05/26/stackoverflow-how-to-check-whether-a-string- इसके बारे में सफेद-रिक्त स्थान /) हैं। –

संबंधित मुद्दे