A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 愿我能 中级黑马   /  2014-4-18 17:41  /  1107 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在已知索引情况下如何利用
deleteCharactersInRange删除NSMutableString的字符串我所做的 不通过
  1. NSMutableString *str=@"  as df 12 fgd ";
  2. [str deleteCharactersInRange:[[str substringWithRange:NSMakeRange(0, 3)]];
复制代码
这是之前看到的教程,stringWithString 方法:用于创建字符串初始化赋值

rangeOfString方法:传入字符串返回一个在该字符串中的范围 也可以写 NSMakeRange(0, 3) 意思是范围在字符串0位到第3位

deleteCharactersInRange:删除字符串 参数为Range 就是删除的范围。


评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

倒序浏览
首先让我们来看这两个方法
  1. - (NSString *)substringFromIndex:(NSUInteger)anIndex//返回值是字符串
  2. - (void)deleteCharactersInRange:(NSRange)range//传入参数是NSRange
复制代码

你将字符串作为参数传给需要NSRange参数的方法这肯定是不对的。

评分

参与人数 1黑马币 +2 收起 理由
jing迪 + 2

查看全部评分

回复 使用道具 举报
  1. int main( )
  2. {
  3.    
  4.     NSMutableString *str= [NSMutableString stringWithFormat:@"  as df 12 fgd "];
  5.     // [str deleteCharactersInRange:[[str substringWithRange:NSMakeRange(0, 3)]];
  6.     [str deleteCharactersInRange:NSMakeRange(0, 3)];
  7.      NSLog(@"%@", str);
  8.     return 0;
  9. }
复制代码

改成这样就可以了,结果是s df 12 fgd
去掉了前3个字符

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
李烨 发表于 2014-4-18 19:36
改成这样就可以了,结果是s df 12 fgd
去掉了前3个字符

谢谢 ,,ok
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马