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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目: 利用分类给NSString扩展3个方法(Objective-C)
1>    字符串反转(比如@”123”调用方法后返回@”321”)
2>    计算英文字母的个数(比如@”5435abc54abc3AHJ5”调用方法后返回的是9)
3>    去除字符串两端空格(比如@”  1235 45 ”调用方法后返回@”1235 45”)

5 个回复

倒序浏览
  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
复制代码
回复 使用道具 举报
学习了!
回复 使用道具 举报
过来看看  加油
回复 使用道具 举报
加油吧!坚持下来
回复 使用道具 举报
可以的,加油!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马