黑马程序员技术交流社区

标题: 网上看到的一道入学考试题,试着做了一下 [打印本页]

作者: 一笑奈_UTPa1    时间: 2016-1-19 21:05
标题: 网上看到的一道入学考试题,试着做了一下
题目: 利用分类给NSString扩展3个方法(Objective-C)
1>    字符串反转(比如@”123”调用方法后返回@”321”)
2>    计算英文字母的个数(比如@”5435abc54abc3AHJ5”调用方法后返回的是9)
3>    去除字符串两端空格(比如@”  1235 45 ”调用方法后返回@”1235 45”)
作者: 一笑奈_UTPa1    时间: 2016-1-19 21:06
  1. #import "NSString+extend.h"

  2. @implementation NSString(extend)
  3. //设计为类方法,字符串反转.
  4. +(NSString*)fanZhuan:(NSString*)str
  5. {
  6.     //创建一个空的可变字符串
  7.     NSMutableString *result=[NSMutableString string];
  8.     //倒叙读取原始字符串
  9.     for(int i=(int)str.length-1;i>=0;i--)
  10.     {
  11.         char c=[str characterAtIndex:i];
  12.         [result appendFormat:@"%c",c];//可变字符串依次加上
  13.     }
  14.     return result;
  15. };
  16. //计算英文字母的个数
  17. +(int)englishCount:(NSString*)str
  18. {
  19.     int count=0;
  20.     for(int i=0;i<str.length;i++)
  21.     {
  22.         char ch=[str characterAtIndex:i];
  23.         //如果取出来的那个字符在a-z之间或A-Z之间,结果加1
  24.         if((ch-'a'>=0&&ch-'z'<=0)||(ch-'A'>=0&&ch-'Z'<=0))
  25.             count++;
  26.     }
  27.     return count;
  28. };
  29. //去除字符串两端的空格.
  30. +(NSString*)quChuKongGe:(NSString*)str
  31. {
  32.     int start=0,end=(int)str.length-1;
  33.     //找到从前往后数第一个非空格的位置
  34.     while(1)
  35.     {
  36.         char ch=[str characterAtIndex:start];
  37.         if(ch==' ')
  38.             start++;
  39.         else
  40.         break;
  41.     }
  42.     while(1)
  43.     {
  44.         char ch=[str characterAtIndex:end];
  45.         if(ch==' ')
  46.             end--;
  47.         else
  48.             break;
  49.     }
  50.     //截取从start到end的字符串,即为结果
  51.     //NSLog(@"%d %d 长度为%d",start,end,str.length);
  52.     return [str substringWithRange:NSMakeRange(start, end-start+1)];
  53. };
  54. @end
复制代码

作者: guyuexing    时间: 2016-1-20 23:02
学习了!
作者: wx_MkPtTU4D    时间: 2016-1-21 11:37
过来看看  加油
作者: 石门一梦    时间: 2016-1-21 18:56
加油吧!坚持下来
作者: songxiuling    时间: 2016-1-26 16:12
可以的,加油!!




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