OC中NSString的使用方法

     OC中NSString的常用方法

    1.初始化一个字符串对象
    NSString *string1 = @"ibokanwidom";

    NSString @string2 = [NSString stringWithString:@"bokanwensi"];

    NSString *string4 = [NSString stringWithFormat:@"%d,%f,higuys",5,4.5];

    NSString *string5 = @"Rick";
    NSString *string6 = @"666";
    NSString *string7 = [NSString stringWithFormat:@"%@%@",string5,string6];
    NSLog(@"%@",string7);

   2.从本地文件中读取字符串
    NSString *path1 = @"/Users/ibokan/Desktop/OC_04_02/OC_04_02/213.html";

    NSStringEncoding encoding;//NSUTF8StringEncoding = 4,
    NSError *error;

    NSString *string8 =[NSString stringWithContentsOfFile:path1 encoding:encoding error:&error];


 3.从网络读取字符串
    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
    NSString *string9 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"string9 = %@",string9);

 4.字符串的操作

    NSString *string11 = @"你是逗比么,我都受不了你了";

    (1).字符串的属性   长度  length
    NSUInteger length = [string11 length];
    NSLog(@"长度:%lu",length);

    (2).字符串的截取
    NSString *subString1 = [string11 substringToIndex:5];//获取从字符串开头到字符串的 to 的字符串内容,不包括to位置,从0开始算起
    NSLog(@"subString1 = %@",subString1);

    NSString *subString2 = [string11 substringFromIndex:6];//获取从字符串from位置到结尾字符串的内容,包含from位置

    NSString *subString3 = [string11 substringWithRange:NSMakeRange(7, 2)];

    (3).获取字符串中的字符
    NSString *string12 = @"abdasf";
    char c= [string12 characterAtIndex:0];//根据字符串中的位置Index 来得到一个字符,注意字符串的索引是从0开始的

    (4).字符串的比较,如何判断2个字符串相等呢?
    if (subString2 == subString3) {
        //内容和指针都相等,才成立
        NSLog(@"subString = subString3");
    }else
    {
        NSLog(@"不相等");
    }

     (5).浅拷贝 和 深拷贝
     浅拷贝是指原对象与拷贝对象共用一份文体,仅仅是引用变量名称不同。
     深拷贝是指原对象与拷贝对象不相同,其中任何一个对象的改动都不会对另一个对象造成影响

     在字符串中[NSString stringWithString:]方法是用于浅拷贝一个现有的字符串产生一个字符串
    NSString *subString4 = [NSString stringWithString:subString3];//浅拷贝

    NSString *subString5 = [NSString stringWithFormat:@"%@",subString2];
    if (subString2 == subString5) {
        //内容和指针都相等,才成立
        NSLog(@"subString4 = subString3");
    }else
    {
        NSLog(@"不相等");
    }

    //在实际开发过程中,我们通常只需要比较2个字符串的内容是否相等
    if ([subString2 isEqualToString:subString5]) {
        NSLog(@"subString2 和 subString3 内容相等");
    }
    else
    {
         NSLog(@"subString2 和 subString3 内容不相等");

    }

    (6)比较两个字符串的大小
    NSString *cmpString1 = @"hehehehehe";
    NSString *cmpString2 = @"hahahahaha";
    NSComparisonResult result = [cmpString1 compare:cmpString2];
    switch (result) {
        case NSOrderedAscending:
            NSLog(@"cmpString1 < cmoString2");
            break;
        case NSOrderedSame:
            NSLog(@"cmpString1 = cmoString2");
            break;
        case NSOrderedDescending:
            NSLog(@"cmpString1 > cmoString2");
            break;

        default:
            break;
    }

    (6).根据字符串拿到对应的range
    NSString *string11 = @"你是逗比么,我都受不了你了";
    NSRange range1 = [string11 rangeOfString:@"逗比"];
    NSLog(@"%@",[NSValue valueWithRange:range1]);//封装range

    (7).只输出第一个遇到该字符串的位置 及 该字符串的长度
    NSRange range2 = [string11 rangeOfString:@"你"];
    NSLog(@"%@",[NSValue valueWithRange:range2]);

    (8).判断字符串中是否有XX前缀 或 XX后缀
    NSString *string13 = @"http://www.baidu.com";

    if ([string13 hasPrefix:@"http://"]) {
        NSLog(@"含有该前缀");
    }
    else
    {
        NSLog(@"不含有该前缀");
    }

    (9).判断是否为jpg 或者 png格式
    NSString *string14 = @"fsfag.jpg";
    if ([string14 hasSuffix:@".jpg"]||[string14 hasSuffix:@".png"]) {
        NSLog(@"含有此后缀");
    }
    else
    {
        NSLog(@"不还有次后缀");
    }

    (10).字符串的拼接
    NSString *string15 = @"www.baidu.com";
    NSString *string16 = [@"http://" stringByAppendingString:string15];//直接把两个字符串连接起来,调用者在前,传进来的字符串在后
    NSLog(@"%@",string16);






    字符串的其他常用方法
    1.字符串的转换函数
    NSString *str1 = @"111aaff555";
    int a1 = [str1 intValue];
    float b1 = [str1 floatValue];
    double c1 = [str1 doubleValue];
    NSLog(@"%d",a1);

    2.字符串大小写转换函数
    NSString *str2 = @"aaabb";
    NSString *str3 = [str2 uppercaseString];//将字符串全部改写成大写
    NSLog(@"%@",str3);
    NSString *str4 = [str3 lowercaseString];
    NSLog(@"%@",str4);
    NSString *str5 = [str2 capitalizedString];
    NSLog(@"%@",str5);

    3.字符串的替换函数
    NSString *str6 = [str2 stringByReplacingOccurrencesOfString:@"ff" withString:@"dd"];
    NSLog(@"%@",str6);
    NSString *str7 = [str2 stringByReplacingCharactersInRange:NSMakeRange(1, 2) withString:@"cc"];
    //将字符串中range范围的内容替换成replacment的内容
    NSLog(@"%@",str7);

    NSString *str8 = @"aa-bb-cc-dd-ee";
    NSArray *array = [str8 componentsSeparatedByString:@"-"];//以separator为分隔符,将原字符串的内容进行分割,分割的结果放到一个数组里,作为返回值
    NSLog(@"%@",array);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值