iOS字符串和可变字符串

下面是我翻了翻系统SDK总结的一些比较常用的方法,添加了自己的理解和注释,不全的不对的地方请大神指教微笑

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        
        unichar data[6]={1,2,3,4,5,6,};//使用Unicode数值数组初始化字符串
        NSString * str = [[NSString alloc]initWithCharacters:data length:6];
        NSLog(@"%@",str);
        
        char * data1 = "c语言的字符串";
        NSString * str1 =[[NSString alloc]initWithUTF8String:data1];
        NSLog(@"%@",str1);
        
        //将字符串写入文件
        [str writeToFile:@"my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
        //读取文件内容,用文件内容初始化字符串
        NSString * str2 = [NSString stringWithContentsOfFile:@"" encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"%@",str2);
        
        NSString * str3 = @"开头";
        NSString * addstr = @"添加";
        //在str3后面追加一个字符串,该方法有返回值,所以str3并没有被改变,只是把改变的对象重新赋给str3变量。
        str3 = [str3 stringByAppendingString:addstr];
        NSLog(@"%@",str3);
        
        const char * cstr = [str3 UTF8String];
        NSLog(@"获取后的C风格字符串:%s ",cstr);
        
        //在str3后面追加带变量的字符串
        str3 = [str3 stringByAppendingFormat:@"---%@---格式化",@"添加的"];
        NSLog(@"%@",str3);
        NSLog(@"字符串str3的字符个数%lu",[str3 length]);
       
        NSString * s1 = [str3 substringToIndex:4];//截取到字符串的第4位前,不算第4位置
        NSLog(@"s1==%@",s1);
        NSString * s2 = [str3 substringFromIndex:2];//从第2位置截取,包含第二位
        NSLog(@"s2==%@",s2);
        NSString * s3 = [str3 substringWithRange:NSMakeRange(0, 2)];//从第0位置截取,截取长度为2
        NSLog(@"s3==%@",s3);
        
        NSRange range = [str3 rangeOfString:@"添加"];  //获取“添加”字符串在str3中的位置,仅仅计算第一次出现的位置。
        NSLog(@"range={%ld,%ld}",range.location,range.length);
        
        NSLog(@"%@ ", [[NSString stringWithFormat:@"abc"] uppercaseString]); //所有字母大写
        NSLog(@"%@ ", [[NSString stringWithFormat:@"ABC"] lowercaseString]);//所有字母小写
        NSLog(@"%@ ", [[NSString stringWithFormat:@"abc"] capitalizedString]); //首字母大写
        
        
        
        NSMutableString * mutableString = [NSMutableString stringWithFormat:@"我是可变字符串"];
        
        //追加固定字符串,字符串本身发生了改变,无需重新赋值,方法没有返回值。
        [mutableString appendString:@"---追加"];
        NSLog(@"%@",mutableString);
        
        //在指定位置插入字符串
        [mutableString insertString:@"---插入字符串" atIndex:7];
        NSLog(@"%@",mutableString);
        
        //删除一个区域的字符串
        [mutableString deleteCharactersInRange:NSMakeRange(7, 13)];
        NSLog(@"%@",mutableString);
        
        //替换一个区域的字符串
        [mutableString replaceCharactersInRange:NSMakeRange(2, 2) withString:@"--替换了可变--"];
        NSLog(@"%@",mutableString);
        
        
        //获取当前的locale
        NSLocale * cn = [NSLocale currentLocale]; //nslocale代表一个语言,国际环境。
        //获取nsdate在当前locale下对应的字符串
        NSLog(@"%@",[[NSDate date] descriptionWithLocale:cn]);
        
        
        NSArray * array = [NSArray array];//创建一个不包含任何元素的空NSArray
        array = [NSArray arrayWithObjects:@"元素1",@"元素2",@"元素3",@"元素4",@"元素5", nil];
        NSLog(@"第0个元素:%@",[array objectAtIndex:0]);
        NSLog(@"最后一个元素:%@",[array lastObject]);
        
        //获取索引为2,以及后面3个元素组成新集合
        NSLog(@"%@",[array objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(2, 3)]]);
        
        //获取元素1的位置
        NSLog(@"%ld", [array indexOfObject:@"元素1"]);
        
        //像数组追加另一个元素,本身并没有改变,即方法有返回值
        array = [array arrayByAddingObject:@"元素6"];
        NSLog(@"%@",array);
        
        //获取0-1的元素,重新赋给array
        array = [array subarrayWithRange:NSMakeRange(0, 2)];
        NSLog(@"%@",array);
        
        
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值