从现有字符串中获取范围子字符串

时间:2015-07-07 09:53:24

标签: ios objective-c

我有一个NSString,我希望通过找一个单词来创建一个子字符串。

例如,我的字符串是:@"text13 text12 text and new value" 但是当我通过编程搜索“文本”时,它的返回范围是 range = location = 0,length = 4 但它应该是“text”字符串的返回范围,它表示位置15到lenth 4

NSString *string = @"text13 text12 text";
NSString *searchStr = @"text";
NSRange range = [string rangeOfString:searchStr];

有人可以帮助我或给我一个例子吗?

谢谢, 苏希尔

1 个答案:

答案 0 :(得分:0)

你可以这样做:

[string enumerateSubstringsInRange:NSMakeRange(0, [string length])
                           options:NSStringEnumerationByWords | NSStringEnumerationLocalized
                        usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
     // this enumerate all the "words" of your string
     if ([string isEqualToString: searchString]) {
        // use substringRange, the range of your string
        // if you need only the first occurrence, then exit from block, otherwise continue
     }
}