2012-06-28 17 views
15

में एक सबस्ट्रिंग की स्थिति NSString के भीतर मैं एक सबस्ट्रिंग की स्थिति/अनुक्रमणिका कैसे प्राप्त कर सकता हूं?एनएसएसटींग

मुझे निम्न तरीके से स्थान मिल रहा है।

NSRange range = [string rangeOfString:searchKeyword]; 
NSLog (@"match found at index:%u", range.location); 

यह index:2147483647 लौटाता है जब searchKeywordstring भीतर सबस्ट्रिंग है।

मैं इंडेक्स मूल्य जैसे 20 या 5 कैसे प्राप्त कर सकता हूं?

उत्तर

54

2147483647NSNotFound जैसा ही है, जिसका अर्थ है कि आपने जिस स्ट्रिंग को खोजा है (searchKeyword) नहीं मिला था। मदद के लिए @ केविन बेलार्ड -

NSRange range = [string rangeOfString:searchKeyword]; 
if (range.location == NSNotFound) { 
    NSLog(@"string was not found"); 
} else { 
    NSLog(@"position %lu", (unsigned long)range.location); 
} 
+0

धन्यवाद। क्या आप मेरी मदद करते हैं कि मैं उस सीमा के आधार पर एक सबस्ट्रिंग कैसे चुन सकता हूं। जैसे 'और, ज़ाहिर है, यह पूछा जाना चाहिए: क्या यूनानी संपत्तियों के सबसे आश्वस्त होने के लिए तुर्कों के साथ लेनदेन करना उचित है जब ** ग्रीस * तुर्की आक्रमण और अधीनता के अधीन है? यहां मुझे ग्रीस का स्थान मिला है, अब मैं उस ग्रीस शब्द के पहले और बाद में एक या दो शब्दों को 'सबस्ट्रिंग' चुनना चाहता हूं। जैसे 'ग्रीस तुर्की के नीचे है'। क्या आप मदद कर सकते हैं कृपया! –

+0

@ शहीनरहमान: आप शायद '-enumerateSubstringsInRange: विकल्प का उपयोग करना चाहते हैं: ब्लैक: 'API का उपयोग करना। यह आपको व्यक्तिगत शब्द दे सकता है। –

+0

- @ केविन बल्लार्ड क्या आप मुझे '-enumerateSubstringsInRange: कोड का उपयोग कर सकते हैं: विकल्प: ब्लैक: 'एपीआई। –

8
NSString *searchKeyword = @"your string"; 

NSRange rangeOfYourString = [string rangeOfString:searchKeyword]; 

if(rangeOfYourString.location == NSNotFound) 
{ 
    // error condition — the text searchKeyword wasn't in 'string' 
} 
else{ 
    NSLog(@"range position %lu", rangeOfYourString.location); 
} 

NSString *subString = [string substringToIndex:rangeOfYourString.location]; 

इस मदद मिलेगी सकता है ....

+0

धन्यवाद - मदद के लिए @ केविन Ballard। क्या आप मेरी मदद करते हैं कि मैं उस सीमा के आधार पर एक सबस्ट्रिंग कैसे चुन सकता हूं। जैसे 'और, ज़ाहिर है, यह पूछा जाना चाहिए: क्या यूनानी संपत्तियों के सबसे आश्वस्त होने के लिए तुर्कों के साथ लेनदेन करना उचित है जब ** ग्रीस * तुर्की आक्रमण और अधीनता के अधीन है?' यहां मुझे ग्रीस का स्थान मिला है जो मैं चाहता हूं उस ग्रीस शब्द के पहले और बाद में एक 'सबस्ट्रिंग' एक या दो शब्दों का चयन करने के लिए। जैसे 'ग्रीस तुर्की के नीचे है'। क्या आप मदद कर सकते हैं कृपया! –

+0

आप इसका उपयोग कर सकते हैं .... [स्ट्रिंग substringToIndex: rangeOfYourString.location]; मैं कोड में संपादन कर रहा हूं ... यह आपकी मदद करेगा – Abhishek

+0

धन्यवाद - @ अभिषेक यह मेरे लिए काम करता है '[स्ट्रिंग substringFromIndex: range.location]; ' –