黑马程序员技术交流社区
标题:
NSRange获取字符位置和长度
[打印本页]
作者:
Jine
时间:
2014-5-9 15:23
标题:
NSRange获取字符位置和长度
NSString *s = @"welcome to shanghai to";
NSRange f1 = [s rangeOfString: @"to"];
NSLog(@"%ld, %ld", f1.location, f1.length);
我自己运行了下发现显示的是 8, 2。那如果我要获取第二个to的位置,代码该怎么写???
来个神人指教!!!{:3_48:}
作者:
悟中生有
时间:
2014-5-9 19:51
你试试:把字符串转换为可变字符串,删除第一个to。
作者:
Jine
时间:
2014-5-9 20:39
如果把第一个to删除了,就会影响到第二个to的位置啊!
作者:
agelessman
时间:
2014-5-9 22:03
NSString *str1 = @"wod to sefa afa to dfaes to reewer";
NSMutableString *str = [NSMutableString stringWithString:str1];
[str replaceCharactersInRange:[str rangeOfString:@"to"] withString:@"aa"];
NSRange range1 = [str rangeOfString:@"to" ];
NSLog(@"%ld-- %ld",range1.location,range1.length);
呵呵,暂时只能想到这个笨方法,
作者:
流心语
时间:
2014-5-10 17:40
在使用rangeOfString:方法时参数使用“hai to”,然后将NSRange结构体的location成员的值加4就行了。
这种方法的思想是延长字符串,保证字符串的唯一性。
作者:
UT丶
时间:
2014-5-10 20:17
NSString *p = @"aa to bb to";
NSString *p1;
NSRange srg = [p rangeOfString:@"to"];
NSRange srg2;
p1 = [p substringFromIndex:srg.location+srg.length];
srg2 = [p1 rangeOfString:@"to"];
NSLog(@"%ld",srg2.location);
复制代码
希望可以帮到你
作者:
Jine
时间:
2014-5-10 21:22
流心语 发表于 2014-5-10 17:40
在使用rangeOfString:方法时参数使用“hai to”,然后将NSRange结构体的location成员的值加4就行了。
这种 ...
这方法好,简单又实用!
作者:
522049094
时间:
2014-5-10 22:37
我觉得将字符串转换成可变字符串,然后用遍历来查找字符串,这样只要遇到to都可以找到。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2