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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 悟中生有 于 2014-4-14 11:15 编辑

已知:NSMutableString删除子串的方式是:
  1. //创建可变字符串
  2. NSMutableString *s1 = [NSMutableString stringWithFormat:@"i like china"];
  3. //获取like在s1中的范围,并且删除like
  4. NSRange ragne =[s1 rangeOfString:@"like"];
  5.     [s1 deleteCharactersInRange:ragne];
复制代码
请问如果要删除NSString字符串中的字串要用什么方式?谢谢了!


评分

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

查看全部评分

8 个回复

倒序浏览
将不可变变为可变再删呗!
回复 使用道具 举报
FlyTrem 发表于 2014-4-13 19:23
将不可变变为可变再删呗!

你的意思是不是把NSString拼接到NSMutableString里面,再按照NSMutableString的删除方式删除吗?
回复 使用道具 举报
    // 创建不可变字符串@"itheimane"
    NSString *s1 = @"itheimane";
   
    // 获取其中ne的范围
    NSRange range = [s1 rangeOfString: @"ne"];
   
    // 创建新的不可变字符串,用删掉范围rang的s1 赋值给新的字符串s2
    NSString *s2 = [s1 stringByReplacingCharactersInRange:range withString: @""];
   
    NSLog(@"%@", s2);
回复 使用道具 举报
悟中生有 发表于 2014-4-13 19:29
你的意思是不是把NSString拼接到NSMutableString里面,再按照NSMutableString的删除方式删除吗? ...

不是拼接式,是直接将不可变转换为可变字符串!然后查找删除!
回复 使用道具 举报
  1. // NSString是不可字符串,初始化完毕后就不能改变(删除/增加等操作)
  2.     NSString *str1 = @"mynameis";
  3.    
  4.     // 实现楼主的删除 可以创建一个新的字符串
  5.     // 也可以先创建个可变的
  6.    
  7.     NSMutableString * str2 = [NSMutableString stringWithString:str1];
  8.    
  9.     NSRange ragne =[str2 rangeOfString:@"name"];
  10.     [str2 deleteCharactersInRange:ragne];
  11.    
复制代码

评分

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

查看全部评分

回复 使用道具 举报
董月峰 发表于 2014-4-14 08:58
// 创建不可变字符串@"itheimane"
    NSString *s1 = @"itheimane";
   

谢啦!明白了,只要能实现目的,什么方法都可以是吧
回复 使用道具 举报

看懂了,多谢指教!
回复 使用道具 举报
FlyTrem 发表于 2014-4-14 09:12
不是拼接式,是直接将不可变转换为可变字符串!然后查找删除!

嗯!知道了,多谢指教!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马