2012-03-15 41 views

回答

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"); 
} 

要麼

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"); 
} 

更新@geekay_gk: 如果你確信你將有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

有沒有辦法如果字符串是'你好你的平衡= 60094和你的id = rt456' hw我現在可以取rt456 – thesummersign 2012-05-08 17:00:10

+0

@geekay_gk,我已經更新了我的答案。 PL。檢查。 – Ilanchezhian 2012-05-08 17:13:03

+0

+1完美!非常感謝,儘管我接近。 – thesummersign 2012-05-08 17:35:32

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 2012-03-15 10:36:20

+0

@ user968597檢查Aadhira的答案。 – iNoob 2012-03-15 10:40:19