如何find两个string之间的子串?

我有一个string“嗨,你好吗”

我想在你之前和之后find子串

如何在目标c做到这一点?

find两个string的范围,并返回两者之间的子string:

NSString *s = @"hi how are... you"; NSRange r1 = [s rangeOfString:@"how"]; NSRange r2 = [s rangeOfString:@"you"]; NSRange rSub = NSMakeRange(r1.location + r1.length, r2.location - r1.location - r1.length); NSString *sub = [s substringWithRange:rSub]; 

你可以使用NSString substringWithRange方法

 NSString *string=@"hi how are you"; NSRange searchFromRange = [string rangeOfString:@"how"]; NSRange searchToRange = [string rangeOfString:@"you"]; NSString *substring = [string substringWithRange:NSMakeRange(searchFromRange.location+searchFromRange.length, searchToRange.location-searchFromRange.location-searchFromRange.length)]; NSLog(@"subs=%@",substring); //subs= are 

使用NSString SubstringTOIndexSubstringFromIndex函数。 其中SubstringFromIndex给你从你传递的索引stringSubstringToIndex函数给你的string到你传递的索引。

另外尝试substringWithRange函数,它返回你传递的范围之间的string

使用substringWithRange

 NSString* substring = [originalString substringWithRange:NSMakeRange(3, originalString.length-6)];