关于String在OC中的一些操作(长沙戴维营)




    

    //1. 不可变类型(NSNumber, NSString, NSArray, NSDictionary, NSSet)

    //2. 不可变类型的引用计数可能是不符合规则

    NSString *str1 = @"abc";

    NSString *str2 = @"efg";

    

    //字符串连接

    NSString *str3 = [[NSString alloc]initWithFormat:@"%@%@",str1,str2];

    NSLog(@"%@",str3);

    

    NSString *str4= [str1 stringByAppendingFormat:@"%@",str2];

    NSLog(@"%@",str4);

    

    NSString *str5 = [str1 stringByAppendingString:str2];

    NSLog(@"%@",str5);


    //c字符串和oc之间的转换

    char *cstr = "abc";

    NSString *str = @(cstr);//语法糖

    str = [[NSString alloc] initWithCString:cstr encoding:NSUTF8StringEncoding];//C语言 -> OC

    

    //获取资源文件夹下的文件路径

    // NSString *path = [[NSBundle mainBundle] pathForResource:@"File" ofType:@""];

    //[[NSBundle mainBundle] resourcePath];

    //[[NSBundle mainBundle] bundlePath];

    NSString *path = NSHomeDirectory();

    path = [NSString stringWithFormat:@"%@/Documents/test.txt", path];

    NSLog(@"%@", path);

    

    //保存文件

    [path writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];

    str = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

    NSLog(@"%@", str);

    

    //OC -> C

    const char *cstr2 = [str04 cStringUsingEncoding:NSUTF8StringEncoding];

    NSLog(@"%s", cstr2);

    

    const char *cstr3 = [str04 UTF8String];

    NSLog(@"%s", cstr3);

   

//    如果有前缀

    NSString *str05 = @"http://www.baidu.com";

    if ([str05 hasPrefix:@"http://"]) {

        NSLog(@"这是http协议");

    }

//    如果有后缀

    if ([str05 hasSuffix:@".com"]) {

        NSLog(@"这是一个.com域名");

    }

    

    //获取大写

    NSString *str06 = @"Zhang".uppercaseString;

    NSLog(@"%@", str06);

    //获取小写

    NSLog(@"%@", str06.lowercaseString);


//    判断字符串是否相等

    if ([str06 isEqualToString:@"ZHANG"]) {

        NSLog(@"相等");

    }

    

//  字符串比较strcmp 

    NSLog(@"%ld", [str06 compare:@"xxx"]);

    

//  字符串连接

    NSString *str07 = [@"http://" stringByAppendingString:@"www.baidu.com"];

    NSLog(@"%@", str07);

    

//  创建字符串

    NSString *str08 = @"Zhangsan,Lisi,Wangwu,Lisi";

    //分割字符串

    NSArray *array = [str08 componentsSeparatedByString:@","];

    NSLog(@"%@: %lu", array, array.count);

    

    NSString *str09 = [array componentsJoinedByString:@"-"];

    NSLog(@"%@", str09);

    

//获取子串

//[ )

//   确定范围,并把该范围的字符串打印出来

    NSRange range = NSMakeRange(2, 4);

    NSString *str10 = [str08 substringWithRange:range];

    NSLog(@"%@", str10);

    

//   查找已有字符串的位置并输出位置

    range = [str08 rangeOfString:@"Lisi"];

    NSLog(@"(%lu, %lu)", range.location, range.length);// ( )

    NSLog(@"%@", NSStringFromRange(range)); //{ }

    

//   用新子字符串替换字符串中已有的子字符串

    NSString *str11 = [str08 stringByReplacingOccurrencesOfString:@"Lisi" withString:@"Zhao"];  //所有相同的都会被替换掉

    NSLog(@"%@", str11);

    

    NSString *str13 = [str08 stringByReplacingCharactersInRange:NSMakeRange(9,4) withString:@"momo"]; //把指定范围内的字符替换

    NSLog(@"str13=%@",str13);

    

//    给字符串后面加一个 .txt

    NSString *str12 = [str08 stringByAppendingPathExtension:@"txt"];

    NSLog(@"%@", str12);

//    给字符串后面加一个 txt

    NSString *str14 = [str08 stringByAppendingPathComponent:@"txt"];

    NSLog(@"%@",str14);

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值