如何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
SubstringTOIndex
& SubstringFromIndex
函数。 其中SubstringFromIndex
给你从你传递的索引string
& SubstringToIndex
函数给你的string
到你传递的索引。
另外尝试substringWithRange
函数,它返回你传递的范围之间的string
。
使用substringWithRange
…
NSString* substring = [originalString substringWithRange:NSMakeRange(3, originalString.length-6)];