iphone удалить следующую строку - оставить остаток строки после определенного появления строки - PullRequest
0 голосов
/ 30 ноября 2011

В задаче c как удалить текст после появления строки.

например, мне нужно удалить текст после появления текста 'good'

'iphone is good, но ..'здесь я должен удалить текст «но» в конце, чтобы текст теперь был «iphone is good»

Ответы [ 5 ]

4 голосов
/ 30 ноября 2011

Попробуйте с кодом ниже

NSString *str_good = @"iphone is good but...";
NSRange range = [str_good rangeOfString:@"good"];
str_good = [str_good substringToIndex:range.location+range.length];
3 голосов
/ 30 ноября 2011
NSString * a = @"iphone is good but..";
NSRange match = [a rangeOfString:@"good"];
NSString * b = [a substringToIndex:match.location+match.length];
1 голос
/ 30 ноября 2011

Если вы хотите удалить остаток строки после определенного появления «но», вы можете получить диапазон «но» и обрезать исходную строку вниз

NSString * test = [NSString stringWithString:@"iphone is good but rest of string"];
NSRange range = [test rangeOfString:@"but"];
if (range.length > 0)   {
    NSString *adjusted = [test substringToIndex:range.location];
    NSLog(@"result %@", adjusted);
}

EDIT Можно предположить, что при поиске не требуется вырезать слова «масло желтое», и можно изменить диапазон, добавив «но»

NSRange range = [test rangeOfString:@" but"];
0 голосов
/ 30 ноября 2011
NSArray *array = [string componentsSeparatedByString:stringToSearch];
NSString *requiredString;
if ([array count] > 0) {
    requiredString = [[array objectAtIndex:0] stringByAppendingString:stringToSearch];
}
0 голосов
/ 30 ноября 2011

Попробуйте это: -

  NSArray *array = [string componentsSeperatedBy:@"good"];
  NSString *requiredString = [array objectAtIndex:0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...