如何在特定的NSString之后从NSString中删除字符

我有一个string如下

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

我想在string中遇到“=”符号后删除所有字符。

任何人都可以给我这个解决scheme吗?

尝试以下解决scheme:

 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的更新:如果你确定你的string里有2个“=”,那么

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

如果它包含空格,修剪string会更好。

也许不是最好的解决scheme,但这里是:

 NSString *str1=@"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 

希望能帮助到你