20

我有一个字符串“你好……你好吗”

我想在你之后和之前找到子字符串..

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

4

4 回答 4

91

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

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];
于 2013-03-11T13:03:10.710 回答
10

你可以使用 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
于 2013-03-11T13:00:57.297 回答
0

的使用SubstringTOIndexSubstringFromIndex功能NSString。WhereSubstringFromIndex为您提供了string您传递的索引 &SubstringToIndex函数为您提供了string您传递的索引。

还可以尝试substringWithRange返回string您传递的范围之间的函数。

于 2013-03-11T12:58:59.810 回答
-1

使用substringWithRange...

NSString* substring = [originalString substringWithRange:NSMakeRange(3, originalString.length-6)];
于 2013-03-11T13:00:32.587 回答