foundation框架基础 NSMutableString 可变字符串

#import <Foundation/Foundation.h>
/*
 NSMutableString 可变字符,它是NSString子类
 增改删的操作
 
 一个字符串需要经常修改其中的内容,那么就使用NSMutableString
 */


/*
   把 20 itcast 拼接起来使用空格隔开
 
 */

//不要使用这种方式,效率低
void test()
{
   
//      只是空的指针
    NSString *str = @"";

    //       使用循环进行拼接
   
for ( int i = 0 ;i < 20 ; i++){
        str = [str
stringByAppendingString : @" itcast" ];
    }
    str = [str
substringFromIndex : 1 ];
   
NSLog ( @"%@" ,str);
   
}

int main( int argc, const char * argv[]) {
//    NSLog(@"1");
//    test();
   
@autoreleasepool {
//        NSMutableString *strM  = [NSMutableString string];
//        Capacity 表示容量,可以容纳多少字符,如果你字符串超这个存储空间它扩展它
       
NSMutableString *strm  =  [ NSMutableString stringWithCapacity : 140 ];
       
for ( int i = 0 ;i < 20 ; i++){
            [strm
appendString : @" itcast" ];
        }
       
NSRange range = { 0 , 1 };
        [strm
deleteCharactersInRange :range];
       
NSLog ( @"%@" ,strm);
        NSRange r = [strm rangeOfString:@"itcast"];

//      替换某个区域的字符串
        [strm
replaceCharactersInRange :r withString : @"www" ];
        NSLog(@"%@",strm);

        NSRange range1 = {0,strm.length};

//      NSRange range1 = {0,strm.length+1};//此处会有一个越界的错误
//      注意使用range时候不要超过字符的长度
        [strm
replaceOccurrencesOfString : @"itcast" withString : @"传智播客" options : NSLiteralSearch range :range1];
       
NSLog ( @"%@" ,strm);
       
//      在某个位置插入一个字符串
        [strm
insertString : @"." atIndex : 3 ];
       
NSLog ( @"%@" ,strm);
       
        strm.
string = @"www.itcast.cn" ;
       
NSLog ( @"%@" ,strm);
       
//        NSString *str = @"abc";
//      可变字符串不能使用字面量的方式赋值,字面量定义的是一个不可以变字符串

//        NSMutableString *strMM = @"abc";
        
NSMutableString *strMM = [ NSMutableString string ];
         strMM.string = @"abc";

//         NSString *string10  =  strMM.string;
         [strMM
insertString : @"d" atIndex : 1 ];
        
NSLog ( @"%@" ,strMM);
    }
   
return 0 ;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值