Как удалить символы из NSString после определенного NSString
У меня есть строка следующим образом
NSString str1 = @"Hello your bal = 68094";
и я хочу удалить все символы после "=" символов в строке.
Может ли кто-нибудь дать мне решение для этого?
Ответ 1
Попробуйте следующее решение:
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);
Если он содержит пробелы, лучше обрезать строку.
Ответ 2
Возможно, это не лучшее решение, но вот оно:
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