NSString字符串的截取,拼接,匹配,反转处理

想把知识点整理一下,今天把字符串的各种处理方式列出来,包括了字符串的各种方式,注释里面有解释清楚用法,有不足的地方大家请指点。

//截取

     NSString * string =@"hellowrold";

    string = [string substringToIndex:3];//截取下标3之后的字符串

    NSLog(@"从第几个截取下标后:%@",string);

    结果: [2541:141682] 从第几个截取下标后:hel


    NSString  *a =@"i like long dress";

    NSString *b = [asubstringFromIndex:4];

    NSLog(@"截取第几个后值:%@",b);

        结果:截取第几个后值:ke long dress


    NSString *url =@"http://www.baidu.com";

    NSRange range =NSMakeRange(3,7);//指定截取从三到7

    NSString* prefix = [urlsubstringWithRange:range];

    NSLog(@"prefix is:%@",prefix);

        结果:prefix is:p://www


 2  // 匹配

    NSString * tr =@"fhajhjhggaa";

    NSRange  range1 = [trrangeOfString:@"a"];//匹配的到的下标

    NSLog(@"rang:%@",NSStringFromRange(range1));


//分隔

    NSString* string2 =@"sdfsfsfsAdfsdf";

    NSArray *array = [string2componentsSeparatedByString:@"A"];//从字符A中分隔成2个元素的数组

    NSLog(@"array:%@",array);//结果是adfsfsfsdfsdf


4  //拼接 

    NSString *  str2 = [stringstringByAppendingFormat:@"%@",string2];

    NSLog(@"拼接:%@",str2);


5   //反转

      //反转先建立一个category,NSString+Reverse,如何建立类别不用我截图吧 

      注意category只能扩展方法不能扩展属性

     //在.h文件里写一个方法

    @interfaceNSString (Reverse)

    -(id)reverseString;

       //在.m文件里实现方法

    @implementation NSString (Reverse)

    -(id)reverseString{

    NSUInteger len = [selflength];

    NSMutableString * returnStr = [NSMutableStringstringWithCapacity:len];

    while (len) {

        //unichar是两字节长的char,代表unicode的一个字符

       //unichar初始化可以采用文字编码的方式初始化,因为c语言中两个单引号只能用于char

        //unichar a = 0x0100 但是这样太麻烦,采用下面变态方法

        unichar c = [selfcharacterAtIndex:--len];//表示有几个字节

        [returnStr appendString:[NSStringstringWithFormat:@"%c",c]];

    }

    return returnStr;

    

}

      //然后再controller的你需要实现的地方实现方法

     #import "NSString+Reverse.h"

    NSString* str = @"hello world";

    NSString* reverseStr = [str reverseString];

    NSLog(@"反转-------%@",reverseStr);





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值