user968597
user968597

Reputation: 1156

how to remove characters from NSString after specific NSString

I am having a string as follows

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

and I want to remove all characters after "=" symbol encounters in string.

Can any one give me the solution for this?

Upvotes: 21

Views: 30082

Answers (2)

Ilanchezhian
Ilanchezhian

Reputation: 17478

Try the following solution:

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

or

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

Update for @geekay_gk: If you are sure that you would have 2 "=" in your string, then

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

If it contains whitespace, it would be better to trim the string.

Upvotes: 72

Novarg
Novarg

Reputation: 7450

Maybe not the best solution, but here it is:

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

Output:

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

Hope it helps

Upvotes: 9

Related Questions