2012-06-12 17 views
5

क्या यह सत्यापित करने का कोई तरीका है कि NSString में वर्ण नहीं हैं या नहीं? वर्णों के बिना स्ट्रिंग का उदाहरण हो सकता है:आईओएस: सत्यापित करें कि कोई स्ट्रिंग एक खाली स्ट्रिंग है

@ "" या @ "" या @ "\ n" या @ "\ n \ n", मैं इन तारों को खाली तारों के रूप में कोसाइडर करना चाहता हूं और मुझे एक एनएसएलओएल प्रिंट करना चाहता हूं जो मुझे बताता है कि ये एएमटी हैं, मुझे किस तरह का नियंत्रण करना चाहिए?

उत्तर

7

इस परीक्षा को उपयोग कर सकते हैं:

if ([[myString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] == 0) { 
    // The string is empty 
} 
+0

+1 मैं इस कार्यक्षमता के बारे में पता था, आपका जवाब मेरा से बेहतर है :) – WendiKidd

+0

@WendiKidd धन्यवाद! एक त्वरित ऑफटॉप के रूप में, मुझे नहीं पता कि आपका जवाब किसने कम किया है, लेकिन मुझे लगता है कि मुझे पता है क्यों: आप स्ट्रिंग स्थिरांक '@" "और' @ "\ n" 'वर्ण स्थिरांक के बजाय' '' '' '' '' '' ' \ n''; इसे ठीक करने से आपके समाधान को पूरी तरह से काम करने वाले में बदलना चाहिए। – dasblinkenlight

+0

आह! मुझे मूर्खतापूर्ण, मैंने नोटिस नहीं किया! यह बात बताने के लिए धन्यवाद। मैंने इसे ठीक किया, धन्यवाद :) – WendiKidd

0

आप स्ट्रिंग में प्रत्येक वर्ण के माध्यम से पुनरावृत्त कर सकते हैं और जांच सकते हैं कि यह स्थान ("") या न्यूलाइन ("\ n") वर्ण है या नहीं। यदि नहीं, तो झूठी वापसी करें। अन्यथा यदि आप पूरी स्ट्रिंग के माध्यम से खोज करते हैं और झूठी वापसी नहीं करते हैं, तो यह "खाली" होता है।

कुछ इस तरह:

NSString* myStr = @"A STRING"; 
for(int i = 0; i < [myStr length]; i++) 
{ 
    if(!(([myStr characterAtIndex:i] == @' ') || ([myStr characterAtIndex:i] == @'\n'))) 
    { 
     return false; 
    } 
} 
संबंधित मुद्दे