美文网首页
OC语言day07-17NSMutableString常用方法

OC语言day07-17NSMutableString常用方法

作者: liyuhong165 | 来源:发表于2016-07-17 19:59 被阅读24次

    pragma mark NSMutableString常用方法

    pragma mark 概念

    /**
     NSMutableString 调用方法的时候 都是没有返回值的。 因为返回的就是它本身
     查找字符串中的字符的范围 (rangeOfString)
    
     字符串 添加 (appendString) (appendFormat)
     字符串 删除一个范围 (deleteCharactersInRange)
     字符串 插入        (insertString)
     
     // 改
     不可变的字符串 替换 (stringByReplacingOccurrencesOfString : withSting)
     可变字符串 替换 (replaceOccurrencesOfString: withString : options(枚举) range:) [返回值 返回是替换了多少个字符]
     */
    

    pragma mark 代码

    #import <Foundation/Foundation.h>
    #pragma mark 类
    
    #pragma mark main函数
    int main(int argc, const char * argv[])
    {
    
    #pragma mark NSMutableString常用方法 (增删改查)
        
        NSMutableString *strM = [NSMutableString stringWithFormat:@"www.baidu.com"];
        
    #warning 1.字符串 添加 (appendString) (appendFormat)
        [strM appendString:@"/image"];
    //    [strM appendFormat:@"/age is %i",10];
        NSLog(@"strM = %@",strM);
        
    #warning 2.字符串 删除 (删除一个范围) (一种是写死,一种是计算位置) (deleteCharactersInRange)
        
        // 2.删除字符串里面的bai
    #warning 2.1 技巧: 在开发中, 我们经常利用rangeOfstring 和 deleteCharactersInRange 方法配合 起来 删除指定的字符串
        // 2.1 先查找 bai 在字符串中的位置 (rangeOfString)
        // 2.2 再删除
        NSRange range = [strM rangeOfString:@"bai"];  // 返回的是一个起始位置、和长度
        [strM deleteCharactersInRange:range];
        NSLog(@"strM = %@",strM);
    
    #warning 3.字符串 该 在bai前面 插入 love这个单词 (insertString)
        strM = [NSMutableString stringWithFormat:@"www.baidu.com"];
        /**
         insertString : 需要插入的字符串
         atIndex :      从哪里开始插入
         */
        NSRange range3 = [strM rangeOfString:@"bai"];
        [strM insertString:@"love" atIndex:range3.location]; // 从bai这个位 插入
        NSLog(@"strM = %@",strM);
    
    #warning 4.要求字符串的bai 替换成 hei  替代 (replace)\
              不可变的字符串 替换 (stringByReplacingOccurrencesOfString : withSting) \
              可变字符串 替换 (replaceOccurrencesOfString: withString : options(枚举) range:)
        // 4.要求将 字符串的 bai 替换成 hei
        // 注意 : 如果是 调用了 NSString 的字符串替换方法 (stringByReplacingOccurrencesOfString : withSting), 不会修改原有字符串,而是产生一个新的字符串
    //    NSString *newStr = [strM stringByReplacingOccurrencesOfString:@"bai" withString:@"hei"];
    //    NSLog(@"旧的 strM = %@",strM);
    //    NSLog(@"新的 newStr = %@",newStr);
        //
    #warning 如果官方里面的参数 如果没有* 大多数都是是一个枚举 而且 你都不想使用 那么可以传一个 0 代表按照系统默认的方式处理
        /**
         replaceOccurrencesOfString : 需要替换的字符串
         withString                 : 用什么替换
         options                    : 替换时的 搜索方式
         range                      : 搜索的范围 (从第0个开始 一直到字符串末尾)
         
         返回值 是 替换了多少个字符串
    
         */
        strM = [NSMutableString stringWithFormat:@"www.baidu.com"];
    //    strM = [NSMutableString stringWithFormat:@"www.baidu.com.bai"];
        NSUInteger count = [strM replaceOccurrencesOfString:@"bai" withString:@"hei" options:0 range:NSMakeRange(0,strM.length)];
        
        
        NSLog(@"旧的 strM = %@",strM);
        NSLog(@"替换了%lu个字符串",count);
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:OC语言day07-17NSMutableString常用方法

          本文链接:https://www.haomeiwen.com/subject/cvcpjttx.html