3大数据结构类之——字符串(二)

上一篇介绍了OC的字符串NSString,不清楚的可以看NSString介绍

本篇来讲讲OC的可变字符串NSMutableString,顾名思义,可变字符串本身的内容是可以变得,也就是说它的内存大小不是固定的。

NSMutableString是NSString的一个子类,后者的方法也适用于NSMutableString,这里不再赘述。注意:这些方法在使用时应该使用NSMutableString类
下面看看可变字符串独有的方法

//根据一个字符串创建一个可变字符串
    NSMutableString * mString = [[NSMutableString alloc]initWithString:@"Hello World!"];
    NSLog(@"mString(%p) = %@",mString,mString);//mString(0x100600390) = Hello World!
    //可变字符串特有的方法无非就是增删改。
    //先看"增"方法
    //在字符串后面追加字符串appendString:aString
    NSString * string = @"I'm is a  NSMutableString";
    [mString appendString:string];
    NSLog(@"mString(%p) = %@",mString,mString);//mString(0x100600390) = Hello World!I'm is a  NSMutableString
    //在字符串后面插入指定格式化字符串appendFormat
    [mString appendFormat:@"%u,%@",1,@"&2"];
    NSLog(@"mString(%p) = %@",mString,mString);//mString(0x100600390) = Hello World!I'm is a  NSMutableString1,&2
    //在指定位置插入字符串
    [mString insertString:@",yes" atIndex:11];
    NSLog(@"mString(%p) = %@",mString,mString);//mString(0x100600390) = Hello World,yes!I'm is a  NSMutableString1,&2
    
    //删方法,删除指定范围内的字符串 deleteCharactersInRange:NSRange
    [mString deleteCharactersInRange:NSMakeRange(11, 4)];
    NSLog(@"mString(%p) = %@",mString,mString);//mString(0x100600390) = Hello World!I'm is a  NSMutableString1,&2
    
    //改方法
    //重置字符串
    [mString setString:@"I'm only a string"];
    NSLog(@"mString(%p) = %@",mString,mString);//mString(0x100600390) = I'm only a string
    //替换指定范围内的字符串
    [mString replaceCharactersInRange:NSMakeRange(0, 6) withString:@"haha"];
    NSLog(@"mString(%p) = %@",mString,mString);//mString(0x100600390) = hahaly a string

喜欢的话,帮忙点一下喜欢,谢谢!
如果有错误之处或者偏差,还请斧正!
欢迎大家留言提问,技术要交流才能更快成长!

你可能感兴趣的:(3大数据结构类之——字符串(二))