как удалить символы из NSString после определенного NSString - PullRequest
21 голосов
/ 15 марта 2012

У меня есть строка следующим образом

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

и я хочу удалить все символы после "=" символов, встречающихся в строке.

Может ли кто-нибудь дать мне решение для этого?

Ответы [ 2 ]

71 голосов
/ 15 марта 2012

Попробуйте следующее решение:

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

Если он содержит пробелы, лучше обрезать строку.

9 голосов
/ 15 марта 2012

Возможно, не лучшее решение, но вот оно:

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 

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...