IPhone删除下一个字符串-在特定字符串出现后留下字符串的其余部分



在objective c中如何在字符串出现后删除文本。

例如,我必须删除文本'good'之后的文本

iPhone很好,但是……这里我要删除最后的but文本所以文本现在是" iphone is good "

试试下面的代码

NSString *str_good = @"iphone is good but...";
NSRange range = [str_good rangeOfString:@"good"];
str_good = [str_good substringToIndex:range.location+range.length];
NSString * a = @"iphone is good but..";
NSRange match = [a rangeOfString:@"good"];
NSString * b = [a substringToIndex:match.location+match.length];

如果您想要删除字符串中出现"but"之后的其余部分,您可以获取"but"的范围并修剪原始字符串

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

编辑我们可以假设搜索不想删除"butter is yellow",并且可以将范围更改为包含"but"

NSRange range = [test rangeOfString:@" but"];

试试这个:-

  NSArray *array = [string componentsSeperatedBy:@"good"];
  NSString *requiredString = [array objectAtIndex:0];
NSArray *array = [string componentsSeparatedByString:stringToSearch];
NSString *requiredString;
if ([array count] > 0) {
    requiredString = [[array objectAtIndex:0] stringByAppendingString:stringToSearch];
}

最新更新