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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 泥娃娃 中级黑马   /  2016-3-19 14:08  /  755 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

main.m
  1. #import <Foundation/Foundation.h>
  2. //分别引入扩展的三个方法的头文件
  3. #import "NSString+reverse.h"
  4. #import "NSString+CountNum.h"
  5. #import "NSString+deleteWhiteSpace.h"
  6. int main(int argc, const char * argv[]) {
  7.     @autoreleasepool {
  8. //      1.  字符串反串
  9.         //定义一个可变字符串string
  10.     NSMutableString *string = [NSMutableString stringWithFormat:@"123"];
  11.         //调用Reverse,生成新字符串
  12.     NSString *str = [NSString stringWithString:[string Reverse]];
  13.             NSLog(@"%@",str);//输出
  14.         
  15. //      2.  计算英文字母个数
  16.         NSString *str1 = @"5435abc54abc3AHJ5";//定义一个字符串str1
  17.         NSUInteger d =[str1 CountNum];//调用CountNum
  18.          NSLog(@"%ld",d);//输出
  19.       
  20. //       3. 去掉字符串首尾空格
  21.         NSString *str2 = @" 1235 45 ";//定义一个字符串str2
  22.         NSString *str3 =[str2 deleteWhiteSpace];//调用deleteWhiteSpace
  23.         
  24.         NSLog(@"%@",str3);//输出
  25.         
  26.     }
  27.    
  28.     return 0;
  29. }
复制代码

1.字符串反转
声明
  1. #import <Foundation/Foundation.h>

  2. @interface NSString (reverse)
  3. //声明Reverse
  4. -(NSMutableString*)Reverse;
  5. @end
复制代码

实现
  1. @implementation NSString (reverse)
  2. //实现Reverse
  3. -(NSMutableString*)Reverse{
  4.     NSUInteger length = [self length];//string长度length
  5.     // 按照指定长度创建一个数组
  6.     NSMutableArray *array = [NSMutableArray arrayWithCapacity:length];
  7.    
  8.         for(long i=length-1; i>=0; i--){//从头到尾反向存入数组中
  9.                 unichar c = [self characterAtIndex:i];//返回下标对应的字符
  10.                 //添加到数组
  11.                 [array addObject:[NSString stringWithFormat:@"%c",c]];
  12.                      }
  13.    
  14.     NSMutableString *str = [NSMutableString stringWithCapacity:length];
  15.    
  16.         for(int i=0; i<=length-1; i++){
  17.                  [str appendString:array[i]];//将数组内的字符依次存入字符串中
  18.                     }
  19.    
  20.              return str;
  21.           }


  22. @end
复制代码



2.计算英文字母个数
声明
  1. #import <Foundation/Foundation.h>

  2. @interface NSString (CountNum)
  3. //声明CountNum
  4. -(NSUInteger)CountNum;
  5. @end
复制代码

实现
  1. #import "NSString+CountNum.h"

  2. @implementation NSString (CountNum)
  3. //实现CountNum
  4. -(NSUInteger)CountNum{
  5.     NSUInteger length = [self length];//str1长度length
  6.     const char *s = [self UTF8String];//str1转化为英文字符再做统计
  7.     int CountNum=0;
  8.     for (int i=0; i<length; i++) {
  9.         // 判断哪些是英文字母 ,如果是,CountNum+1
  10.         if ((s[i]>='a'&&s[i]<='z' )|| (s[i]>='A'&&s[i]<='Z')) {
  11.             CountNum++;
  12.         }         

  13.     }
  14.     return CountNum;
  15. }
  16. @end
复制代码



3.去除字符串两端空格
声明
  1. #import <Foundation/Foundation.h>

  2. @interface NSString (deleteWhiteSpace)
  3. //声明deleteWhiteSpace
  4. -(NSString *)deleteWhiteSpace;
  5. @end
复制代码


实现
  1. #import "NSString+deleteWhiteSpace.h"

  2. @implementation NSString (deleteWhiteSpace)
  3. //实现deleteWhiteSpace
  4. -(NSString *)deleteWhiteSpace{
  5.    
  6. //    去掉首位空格
  7.     NSString *str1 = [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

  8.     return str1;
  9. }
  10. @end
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马