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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

实现函数NSString  *stringWithoutNum(NSString *str);
删除字符串str所有数字。

13 个回复

倒序浏览
arui12580 来自手机 中级黑马 2014-12-5 15:15:38
沙发
这是我的思路,我想问下那个if括号里条件该怎么写

IMG_20141205_151257.jpg (25.51 KB, 下载次数: 9)

IMG_20141205_151257.jpg
回复 使用道具 举报
  1. #import <foundation/foundation.h>

  2. int main() {

  3.     NSString *string = @"3k1f0a63712h9s45fo78";
  4.    
  5.     // 方法1
  6.     // 用@""空字符替换@"[0-9]"(正则表达式 表示0-9数字) options:参数是使用正则表达式 range:参数是整个字符串范围
  7.     NSString *newString = [string stringByReplacingOccurrencesOfString:@"[0-9]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, string.length)];
  8.     NSLog(@"%@", newString); // 输出:kfahsfo
  9.    
  10.     // 方法2
  11.     // 用@"0123456789"字符串里的字符创建一个字符集
  12.     NSCharacterSet *numberSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
  13.     // 用字符集里的字符分割字符串为一个个子串 返回一个存着子串的数组
  14.     NSArray *array = [string componentsSeparatedByCharactersInSet:numberSet];
  15.     // NSLog(@"%@", array); ("",k,f,a,"","","","",h,s,"",fo,"","") 数组里装着这些东西
  16.     // 把数组元素用@""空字符连接成字符串
  17.     NSString *str = [array componentsJoinedByString:@""];
  18.     NSLog(@"%@", str); // 输出:kfahsfo
  19.    
  20.     // 方法3
  21.     NSMutableString *newStr = [NSMutableString string];
  22.     for (int i = 0; i < string.length; i++) {
  23.         unichar c = [string characterAtIndex:i];
  24.         if ( !(c >= '0' && c <= '9') ) {
  25.             [newStr appendFormat:@"%c", c];
  26.         }
  27.     }
  28.     NSLog(@"%@", newStr); // 输出:kfahsfo
  29.    
  30.     return 0;
  31. }
复制代码

点评

谢了。大神nb啊,那些方法名记得我蛋都疼。大学四年年年考四级,年年不过。哎,继续记吧。要是面试手写代码,来个这种题目,没记住就坑爹了。  发表于 2014-12-7 12:27
回复 使用道具 举报

楼上好专业,我用的方法比你麻烦多了,不过这些视频都没讲呀,你是在哪里学的??
回复 使用道具 举报
二楼,用的方法都挺好的,自学的比较深入
回复 使用道具 举报
邵起 发表于 2014-12-6 09:19
楼上好专业,我用的方法比你麻烦多了,不过这些视频都没讲呀,你是在哪里学的?? ...

百度看到个类似的 发现有这么个方法 就研究了下 不要局限于视频 那么多方法他不可能一一讲到 碰巧遇到新的就自己搞一搞^_^

点评

哎,死记啊。面试要是来个这个手写,坑爹啊。。  发表于 2014-12-7 12:29
回复 使用道具 举报
还是要多练习,加油

点评

共勉。。  发表于 2014-12-7 12:31
回复 使用道具 举报
邵起 中级黑马 2014-12-7 09:25:32
8#
从今以后 发表于 2014-12-6 11:49
百度看到个类似的 发现有这么个方法 就研究了下 不要局限于视频 那么多方法他不可能一一讲到 碰巧遇到新 ...

有道理,看来得多求助度娘啊~
回复 使用道具 举报
邵起 中级黑马 2014-12-7 09:26:36
9#
从今以后 发表于 2014-12-6 11:49
百度看到个类似的 发现有这么个方法 就研究了下 不要局限于视频 那么多方法他不可能一一讲到 碰巧遇到新 ...

有道理,看来得多求助度娘啊~
回复 使用道具 举报
好多解法,学习了
回复 使用道具 举报
先把NSString转成NSMutableString,遍历字符串,当字符在数

字的ASC码区间时,deleteCharactersInRange,然后Range的

loc=i,size=1,最后再把NSMutableString转成NSString返回
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马