NSString 和 NSMutableString常用功能

来源:互联网 发布:c语言左移运算符怎么用 编辑:程序博客网 时间:2024/06/13 20:18
// 不可变字符串NSString,不可以进行增删改查
        
        // C语言方式定义一个字符串
        char *p ="hello word";
        NSLog(@"%s", p);
        
        // 直接定义一个字符串
        NSString *s = @"hello word";
        NSLog(@"%@", s);
        
        // 通过字符串地址生成
        NSString *str = [[NSString alloc]initWithString:s];
        NSLog(@"%@", str);
        
        // 通过c语言形式生成
        NSString *ste3 = [[NSString alloc]initWithUTF8String:p];
        NSLog(@"%@", ste3);
        
        // 通过各式符,拼接成一个字符串
        NSString *str4 = [[NSString alloc]initWithFormat:@"heheeh%d %c", 5, 'A'];
        NSLog(@"%@", str4);
        
        // 通过c语言方式生成临时字符串
        NSString *str5 = [NSString stringWithUTF8String:"hello word"];
        NSLog(@"%@", str5);
        
        // 生成可拼接的临时字符串
        NSString *str6 = [NSString stringWithFormat:@"%@ %d", @"dsds", 23];
        NSLog(@"%@", str6);
        
        // 生成临时字符串(传入的是地址)
        NSString *str7 = [NSString stringWithString:s];
        NSLog(@"%@", str7);
        
        // 两个字符串进行比较,大于是真,小于是假
        NSString *str8 = @"ahelloa";
        NSString *str9 = @"hello";
        BOOL ret = [str isEqualToString:str9];
        NSLog(@"%d", ret);
        
        // 两个字符串比较
        NSComparisonResult res =[str8 compare:str9];
        if (res == NSOrderedDescending) { // descend递减
            NSLog(@"str8 < str9");
        }else if (res == NSOrderedAscending)
        {
            NSLog(@"str8 > str9");
        }else if (res == NSOrderedSame){
            NSLog(@"str8 = str9");
        }
        
        NSString *str10 = @"I am a so bod man"; //1,定义一个字符串
        NSString *subStr = @"so";               //2,定义一个需要获取位置的字符串
        NSRange rang = [str10 rangeOfString:subStr]; // 3,获取当前字符串的位置
        NSLog(@"location:%lu lenght:%lu", rang.location, rang.length); // 4,打印出字符串的位置
        
        NSString *str11 = @"1234567890";
        //从str11 中提取从头到尾的6个字符串,返回到str12中(不包括第六个)生成新字符串ste
        NSString *str12 = [str11 substringToIndex:6];
        NSLog(@"str12:%@", str12);
       
        NSString *str13 = [str substringWithRange:rang];
        // NSString *str13 = [str substringWithRange:NSMakeRange(3, 4)];
        // 通过c的方式生成一个指定的字符串
        // 根据指定范围生成一个字符串
        NSLog(@"str13=%@", str13);
        //从第六个字符串到尾,生成一个新字符串,包括第六个
        NSString *str14 = [str substringFromIndex:6];
        NSLog(@"str3=%@", str14);
        
        // 可变字符串,NSMUtableString是继承与NSString 增加的功能有增删改查
        
        // NSMutableString *str = @"hello"; 是错误的
        NSMutableString *str = [[NSMutableString alloc]init];
        [str setString:@"hello"];
        [str setString:@"word"]; //替换了
        NSLog(@"str=%@", str);
        
        // 增,追加,插入
        [str appendString:@"123"];
        [str appendFormat:@"%c", 'D']; //追加一个字符
        [str insertString:@"XXXXX" atIndex:4];//插入一个字符在第四个字符处插入
        [str insertString:[NSString stringWithFormat:@"%d", -55] atIndex:7];
        
        // 字符串的删除
        NSLog(@"str=%@", str);
        [str deleteCharactersInRange:NSMakeRange(3, 7)];//删除这个范围的字符
        NSLog(@"str=%@", str);
        
        //字符串的修改
        [str replaceCharactersInRange:NSMakeRange(3, 2) withString:@"RRRRRRRRR"];
        //替换后的字符串长度可以改变
        NSLog(@"str=%@", str);
0 0