黑马程序员技术交流社区
标题:
NSRage的用法
[打印本页]
作者:
yaozeyang_2014
时间:
2014-4-5 13:12
标题:
NSRage的用法
本帖最后由 yaozeyang_2014 于 2014-4-6 10:13 编辑
NSRage可以适用于那方面,实用性在哪里呢?
作者:
一只小菜鸟
时间:
2014-4-5 19:54
本帖最后由 一只小菜鸟 于 2014-4-5 20:05 编辑
typedef struct _NSRange {
NSUInteger location; //以0开始的index
NSUInteger length; //对象的长度
} NSRange;
//NSMakeRange
NSString *test = @"hello world";
NSRange range = NSMakeRange (6, 5);
NSLog (@"截取的字符串: %@", [test substringWithRange:range]);
//输出 截取的字符串: world
NSString *test1 = @"hello world";
NSRange range1 = [test1 rangeOfString:@"ld" options:NSBackwardsSearch];
NSLog(@"Range is: %@", NSStringFromRange(range1));
//输出 Range is: {9, 2}
复制代码
作者:
那个Mr_Z
时间:
2014-4-5 20:23
NSRange是一个结构体,其中location是一个以0为开始的index,length是表示对象的长度。他们都是NSUInteger类型。
常见的赋值方式
NSRange r1 = {2,4};//不用
NSRange r2 = {.location = 2, .length = 4};//不用
NSRange r3 = NSMakeRange(2, 4);//掌握
作者:
脸皮猴
时间:
2014-4-5 21:48
比如需要取出某个字符串某个范围的字符串,替换某个范围的字符串,删除某个范围的字符串等等..类似的地方,这个结构体都要用到。
作者:
董月峰
时间:
2014-4-5 23:17
本帖最后由 董月峰 于 2014-4-5 23:18 编辑
--------摘自本人博客:http://850361034.blog.163.com
void range()
{
// struct Date {
// int year;
// int month;
// int day;
// };
//
// struct Date = {2011, 11, 12};
//@"i love oc" // love的范围
// NSRange r1 = {2, 4}; // 不用
// NSRange r2 = {.location = 2, .length = 4}; //也不用
//
// // 常用的是Foundation框架自带的函数
// NSRange r3 = NSMakeRange(2, 4); // 记住并掌握这种方式
NSString *str = @"i love oc";
// 查找某个字符串在str中的范围
// 若找不到,length = 0,location = NSNotFound== -1
NSRange range = [str rangeOfString:@"str"];
NSLog(@"loc = %d, length = %d", range.location, range.length);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2