OC字符串的操作1

//字符串的操作
        NSString *string10=@"真是日了竹竿了!";
        //字符串属性   长度 length
        NSUInteger length=[string10 length];
        NSLog(@"length=%lu",length);
        //字符串的截取
        NSString *substring1=[string10 substringToIndex:5];//获取字符串开头到字符串的 to 的位置的字符串内容,不包括to的位置,从0开始算起
        NSLog(@"%@",substring1);
        NSString *substring2=[string10 substringFromIndex:2];//获取从字符串的from位置到结尾的字符串内容,包含from位置的字符
        NSLog(@"%@",substring2);
        NSString *substring3=[string10 substringWithRange:NSMakeRange(2, 3)];
        NSLog(@"%@",substring3);
        //获取字符串中的某个字符
        NSString *string11=@"abcdefg";
        char c3=[string11 characterAtIndex:0];//根据字符串中的位置 index 来得到一个字符,注意字符串的索引是从0开始的
        NSLog(@"%c",c3);
        //字符串比较,如何判断两个字符串是否相等
        if (substring3==substring2) {
            //内容和指针都相等时,才成立
            NSLog(@"相等");
        }
        else
            NSLog(@"不相等");
        /*
         如何才能让两个字符串的指针和内容都相等?
        
         这里需要注意两个概念:浅拷贝 和 深拷贝
         浅拷贝:是指源对象与拷贝对象共用一份实体,仅仅是引用的变量名称不同。
         
         深拷贝:是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另一个对象造成影响。
         
         在字符串中,[NSString stringWithString:]方法是用于浅拷贝一个现有的字符串产生一个字符串
         */
        NSString *substring4=[NSString stringWithString:substring2];
        NSString *substring5=[NSString stringWithFormat:@"%@",substring2];
        if (substring4==substring2) {
            //内容和指针都相等时,才成立
            NSLog(@"相等");
        }
        else
            NSLog(@"不相等");
        //在实际开发过程中,我们通常只需要比较两个字符串的内容是否相等
        if ([substring2 isEqualToString:substring5]) {
            NSLog(@"内容相等");
        }
        else
            NSLog(@"内容不相等");
    }
    //比较两个字符串的大小
    NSString *cmpString1=@"he";
    NSString *cmpString2=@"ha";
    NSComparisonResult result=[cmpString1 compare:cmpString2];
    switch (result) {
        case NSOrderedAscending:
        {
            NSLog(@"cmpString1<cmpString2,升序");
        }
            break;
            case NSOrderedSame:
        {
            NSLog(@"cmpString1=cmpString2");
        }
            break;
            case NSOrderedDescending:
        {
            NSLog(@"cmpString1>cmpString2,降序");
        }
            break;
            
        default:
            break;
    }
    //根据字符串拿到对应的range
    NSString *string11=@"你是逗逼吗,我都受不了你了";
    NSRange ran=[string11 rangeOfString:@"逗逼"];
    NSLog(@"%@",[NSValue valueWithRange:ran]);
    //只输出第一个遇到该字符串的位置 及 该字符串的长度
    NSRange ran1=[string11 rangeOfString:@"受不了"];
    NSLog(@"%@",[NSValue  valueWithRange:ran1]);
    
    //判断字符串中是否有xx前缀 或 xx后缀
    NSString *string12=@"http://www.baidu.com";
    
    if ([string12 hasPrefix:@"http://"]) {
        NSLog(@"含有此前缀");
    }
    else
    {
        NSLog(@"不含有此前缀");
    }
    //判断是否为 jpg 或 png 后缀
    NSString *string13=@"a123.jpg";
    if ([string13 hasSuffix:@".jpg"] || [string13 hasSuffix:@"png"]) {
        NSLog(@"含有此后缀");
    }
    else
    {
        NSLog(@"不含有此后缀");
    }
    
    //字符串的拼接
    NSString *string14=@"www.baidu.com";
    //直接吧两个字符串连接起来,调用者再前,传进来的字符串在后
    NSString *string15=[@"http://" stringByAppendingString:string14];
    NSLog(@"string15 = %@",string15);
    
    //图片地址:http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg
    NSString *string17=@"http://img0.bdstatic.com/img/image/shouye";
    NSString *string18=@"hbmnp003.jpg";
    NSString *string19=[string17 stringByAppendingFormat:@"/%@",string18];//连接两个字符串,并且第二个字符串是按一定格式传进来的
    NSLog(@"string19=%@",string19);
    NSString *string20=[string17 stringByAppendingPathComponent:string18];
    //一般用来拼接地址,而不是拼接网址,/只会出现一个
    NSLog(@"string20=%@",string20);
    
    NSString *string21=@"http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg";
    NSString *string22=[string21 lastPathComponent];//读取最后一个/后面的鬼东西
    NSLog(@"string22=%@",string22);
    
    NSString *theImageName=@"Rick";
    NSString *string23=@"png";
//    NSString *string24=[theImageName stringByAppendingFormat:@".%@",string23];
    NSString *string24=[theImageName stringByAppendingPathExtension:string23];
    //会加点并且拼接
//    NSLog(@"%@",string24);
    NSLog(@"string24=%@",string24);
    
    //字符串的其他常用方法
    //1.字符串的转化函数
    NSString *str1=@"111add333";
    int a1=[str1 intValue];//只打印字符前面的数字,如果前面有字符则打印出0
    float b1=[str1 floatValue];
    double c1=[str1 doubleValue];
    NSLog(@"%d",a1);
    //2.字符串大小写转换函数
    NSString *str2=@"aabbCbb";
    NSString *str3=[str2 uppercaseString];//将字符全部转化为大写
    NSLog(@"str3=%@",str3);
    NSString *str4=[str3 lowercaseString];//将字符全部转化为小写
    NSLog(@"str4=%@",str4);
    NSString *str5=[str2 capitalizedString];//将首个字符改写成大写,其余的都小写
    NSLog(@"str5=%@",str5);
    
    //字符串的替换函数
   NSString *str6= [str2 stringByReplacingOccurrencesOfString:@"bb" withString:@"dd"];
    NSLog(@"str6=%@",str6);
    NSString *str7=[str2 stringByReplacingCharactersInRange:NSMakeRange(1, 2) withString:@"cc"];//将原字符串中的range范围内的内容替换成replacement的内容
     NSLog(@"str7=%@",str7);
    
    NSString *str8=@"aa-bb-cc-dd-ee";
    
    NSArray *array = [str8 componentsSeparatedByString:@"-"];
    //以separator为分隔符,将原字符串的内容进行分割,分割得到的结果放到一个数组里,作为返回值
    NSLog(@"array=%@",array);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
在Objective-C中,可以使用正则表达式来查找和替换字符串。使用正则表达式可以根据特定的规则来匹配和操作字符串。 首先,使用`NSRegularExpression`类来创建一个正则表达式对象。可以通过使用`regularExpressionWithPattern:options:error:`方法并传入匹配模式、选项和错误对象来创建该对象。 接下来,可以使用`matchesInString:options:range:`方法来在字符串中查找所有符合模式的子串。这个方法将返回一个包含`NSTextCheckingResult`对象的数组,每个对象表示一个匹配结果。可以通过`range`属性来获取匹配子串在原始字符串中的位置。 然后,可以使用`substringWithRange:`方法从原始字符串中提取出匹配的子串。 如果需要替换字符串中的某些内容,可以使用`replaceMatchesInString:options:range:withTemplate:`方法来替换匹配的子串。该方法将根据提供的替换模板来替换匹配内容。例如,可以使用`"****"`作为替换模板来替换电话号码中的中间四位。 总结一下,在Objective-C中查找和替换字符串的步骤如下: 1. 创建`NSRegularExpression`对象并指定匹配模式和选项。 2. 使用`matchesInString:options:range:`方法在字符串中查找符合模式的子串。 3. 遍历匹配结果数组,使用`substringWithRange:`方法提取出匹配的子串。 4. 如果需要替换字符串中的内容,使用`replaceMatchesInString:options:range:withTemplate:`方法进行替换。 希望这些信息对你有帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值