2013-03-11 6 views
14

मैं एक स्ट्रिंग है "हाय कैसे रहे हैं ... आप"दो स्ट्रिंग के बीच सबस्ट्रिंग कैसे खोजें?

मैं तुम्हें ..

उद्देश्य सी में यह करने के लिए कैसे कैसे और इससे पहले कि के बाद उप-स्ट्रिंग को खोजने के लिए करना चाहते हैं?

+5

आपने क्या प्रयास किया? या, क्या आप जांच रहे हैं कि कोई यहां जानता है या नहीं? –

+3

क्या आप पूछने से पहले खोज चुके थे? आपने क्या प्रयास किया है –

+0

मैंने जांच की और मैंने कुछ तरीकों का प्रयास नहीं किया क्योंकि यह काम नहीं कर रहा है .. – Raju

उत्तर

77

दो तार की सीमा का पता लगाएं और बीच में सबस्ट्रिंग वापसी:

NSString *s = @"hi how are... you"; 

NSRange r1 = [s rangeOfString:@"how"]; 
NSRange r2 = [s rangeOfString:@"you"]; 
NSRange rSub = NSMakeRange(r1.location + r1.length, r2.location - r1.location - r1.length); 
NSString *sub = [s substringWithRange:rSub]; 
+4

मुझे इस बचपन के प्रश्न के उत्तर देने के दौरान उदास महसूस हुआ। आपके पास एक मानक है। आपको युवा स्टैक ओवर फ्लावर के लिए इन प्रश्नों को छोड़ना चाहिए;) –

+13

@ अनोपवेद्य यह भी उतना ही दुखी है कि ये युवा स्टैक ओवरफ्लॉवर केवल गलत या अर्थहीन/अधूरे उत्तर देने में कामयाब रहे। –

+0

@ एच 2CO3: आपकी मदद के लिए धन्यवाद लेकिन यह सबस्ट्रिंग = (शून्य) दिखा रहा है .. मैं जो कर रहा हूं वह है कि मैं एक HTML पृष्ठ ले रहा हूं और एक सबस्ट्रिंग ढूंढ रहा हूं .. लेकिन जब मैं HTML पृष्ठ को स्ट्रिंग दिखा रहा हूं और यदि मैं उपयोग करता हूं किसी भी सबस्ट्रिंग खोज विधि में यह "शून्य" दिखा रहा है .. कृपया मुझे क्या समस्या होगी कृपया मुझे बताएं .. – Raju

0

SubstringTOIndex & SubstringFromIndexNSString के कार्यों का उपयोग करें। SubstringFromIndex आपको string देता है जो आपने & SubstringToIndex फ़ंक्शन पारित किया है, जो आपको पारित इंडेक्स तक string देता है।

इसके अलावा substringWithRange समारोह जो आप string रिटर्न रेंज है जो आप से पारित कर दिया के बीच का प्रयास करें।

+2

इस उत्तर में कुछ भी नहीं है जो बताता है कि आवश्यक श्रेणियों को कैसे ढूंढें। – rmaddy

+0

@rmaddy मैंने केवल उन कार्यों के नाम दिए जो सबस्ट्रिंग प्राप्त करने में सहायक हैं। इन कार्यों का उपयोग करके, हम सबस्ट्रिंग प्राप्त कर सकते हैं, इसलिए विस्तृत उत्तर प्रदान करने की कोई आवश्यकता नहीं है। – Girish

+0

बिंदु रनटाइम पर इंडेक्स को ढूंढना है। आपके द्वारा प्रस्तावित विधियों का उपयोग करने के लिए आवश्यक होगा कि इंडेक्स हार्डकोड हो। अगर ऐसा करने की ज़रूरत है तो कोई प्रश्न नहीं होता। – rmaddy

-1

उपयोग substringWithRange ...

NSString* substring = [originalString substringWithRange:NSMakeRange(3, originalString.length-6)]; 
9

आप NSString की विधि इस्तेमाल कर सकते हैं substringWithRange

उदाहरण

NSString *s[email protected]"hi how are you"; 
NSRange searchFromRange = [string rangeOfString:@"how"]; 
NSRange searchToRange = [string rangeOfString:@"you"]; 
NSString *substring = [string substringWithRange:NSMakeRange(searchFromRange.location+searchFromRange.length, searchToRange.location-searchFromRange.location-searchFromRange.length)]; 
NSLog(@"subs=%@",substring); //subs= are 
संबंधित मुद्दे