如何找到两个字符串之间的子串?

时间:2013-03-11 12:57:38

标签: ios objective-c ios5 ios6 ios4

我有一个字符串“你好......你怎么样”

我希望在您之前和之后找到子字符串..

如何在目标c中执行此操作?

4 个答案:

答案 0 :(得分:84)

找到两个字符串的范围并返回其间的子字符串:

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];

答案 1 :(得分:9)

您可以使用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

答案 2 :(得分:0)

使用SubstringTOIndex& SubstringFromIndex的{​​{1}}个函数。 NSString从您通过的索引中获取SubstringFromIndex的位置& string函数为您提供了SubstringToIndex到您传递的索引。

同时尝试使用string函数,该函数会在您传递的范围之间返回substringWithRange

答案 3 :(得分:-1)

使用substringWithRange ...

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