2012-03-15 10 views
21

के बाद NSString से पात्रों को निकालने का तरीका के रूप मेंविशिष्ट NSString

NSString str1 = @"Hello your bal = 68094"; 

अनुसरण करता है और मैं के बाद सभी पात्रों निकालना चाहते हैं "=" मैं एक स्ट्रिंग हो रहा है प्रतीक स्ट्रिंग में सामना करना पड़ता है।

क्या कोई मुझे इसके लिए समाधान दे सकता है?

उत्तर

68

निम्नलिखित समाधान का प्रयास करें:

NSString *str1 = @"Hello your bal = 68094"; 
NSRange range = [str1 rangeOfString:@"="]; 
if (range.location != NSNotFound) { 
    NSString *newString = [str1 substringToIndex:range.location]; 
    NSLog(@"%@",newString); 
} else { 
    NSLog(@"= is not found"); 
} 

या @geekay_gk के लिए

NSString *str1 = @"Hello your bal = 68094"; 
NSRange range = [str1 rangeOfString:@"="]; 
if (range.location != NSNotFound) { 
    NSString *newString = [str1 substringWithRange:NSMakeRange(0, range.location)]; 
    NSLog(@"%@",newString); 
} else { 
    NSLog(@"= is not found"); 
} 

अद्यतन: क्या आप वाकई होता है कि कर रहे हैं 2 "=" अपने स्ट्रिंग में, तो

NSString *[email protected]"Hello your balance = 60094 and your id = rt456"; 
NSRange range = [str1 rangeOfString:@"=" options: NSBackwardsSearch]; 
NSString *newString = [str1 substringFromIndex:(range.location+1)]; 
NSLog(@"%@",newString); 

यदि यह रिक्त स्थान हैं, यह बेहतर होगा स्ट्रिंग ट्रिम करने के लिए ।

+0

क्या कोई तरीका है यदि स्ट्रिंग 'हैलो आपका बैलेंस = 600 9 4 और आपकी आईडी = आरटी456' एचडब्ल्यू अब मैं आरटी456ई – thesummersign

+0

@geekay_gk ला सकता हूं, मैंने अपना जवाब अपडेट कर दिया है। Pl। चेक। – Ilanchezhian

+0

+1 सही !! बहुत धन्यवाद, हालांकि मैं करीब था। – thesummersign

8

शायद नहीं सबसे अच्छा समाधान है, लेकिन यहां यह है:

NSString *[email protected]"Hello your bal = 68094"; 
NSArray *tempArray = [str1 componentsSeparatedByString:@"="]; 
str1 = [tempArray objectAtIndex:0]; 
NSLog(@"%@", str1); 

आउटपुट:

2012-03-15 11:21:01.249 TestApp[1539:207] Hello your bal 

आशा है कि यह मदद करता है

+0

Thnx यह काम करता है हालांकि विशिष्ट सबस्ट्रिंग – user968597

+0

@ user968597 के बाद सीधे ट्रिम करने की कोई विधि है इसके लिए अधीरा का जवाब देखें। – iNoob