您应该先尝试获取字符串中的所有范围,然后为每个范围设置属性。有一些伟大的代码示例就在这里计算器:https://stackoverflow.com/a/4653266/381870
编辑:
下面是一个例子,你
- (NSArray *)rangesOfString:(NSString *)searchString inString:(NSString *)str {
NSMutableArray *results = [NSMutableArray array];
NSRange searchRange = NSMakeRange(0, [str length]);
NSRange range;
while ((range = [str rangeOfString:searchString options:0 range:searchRange]).location != NSNotFound) {
[results addObject:[NSValue valueWithRange:range]];
searchRange = NSMakeRange(NSMaxRange(range), [str length] - NSMaxRange(range));
}
return results;
}
用法:
NSArray *results = [self rangesOfString:@"foo" inString:@"foo bar foo"];
NSLog(@"%@", results);
给你
(
"NSRange: {0, 3}",
"NSRange: {8, 3}"
)
来源
2012-03-12 12:54:44
tim
原始海报对结果没有反应。 – wuf810 2013-04-17 13:58:49