黑马程序员技术交流社区

标题: 还是NSMutableString 删除问题 [打印本页]

作者: 愿我能    时间: 2014-4-18 17:41
标题: 还是NSMutableString 删除问题
在已知索引情况下如何利用
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 就是删除的范围。



作者: 微尘•逐梦    时间: 2014-4-18 18:00
首先让我们来看这两个方法
  1. - (NSString *)substringFromIndex:(NSUInteger)anIndex//返回值是字符串
  2. - (void)deleteCharactersInRange:(NSRange)range//传入参数是NSRange
复制代码

你将字符串作为参数传给需要NSRange参数的方法这肯定是不对的。
作者: 李烨    时间: 2014-4-18 19:36
  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个字符
作者: 愿我能    时间: 2014-4-18 20:05
李烨 发表于 2014-4-18 19:36
改成这样就可以了,结果是s df 12 fgd
去掉了前3个字符

谢谢 ,,ok




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2