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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容