zoukankan      html  css  js  c++  java
  • Objective-C-字符串的使用

    注:小编在技术上还是有很大的纰漏,发表此博客希望各位有路过的大牛人物给予评论,给于指正,小编在此非常感谢!此文章为小编自己做的笔记,有不当之处望请指出,小编很是感谢,若用于一些抄袭的勾当,出现一些不可挽回的问题,小编在此声明不负任何责任;

    typedef struct Person

    {

        int age;

        char *name;

    }Person;

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            Person person;

            person.name ="小家伙";

            person.age =20;

            

            Person liusanjie;

            liusanjie.name = "刘三姐";

            liusanjie.age =45;

            

          /*

           1、字符串分为 可变字符串 和 不可变字符串;

           2、字符串的初始化方式;

           3、字符串不是一个容器类,不能够添加数据;

            */

            NSString *string = [[NSString alloc]init];

            NSString *string1 = [NSString string];

            NSString *string2 = [[NSString alloc]initWithString:string1];

            NSString *string3 = @"qwe";

            int age;

            NSLog(@"%d",age);

            

    //        给字符串赋值

            string = @"120";

           /* 字符串的处理;

            1、字符串的格式化处理;

            */

            age = 20;

            NSString *name = @"小庄";

            NSString *info = [NSString stringWithFormat:@"%@已经%d岁了",name,age];

            NSLog(@"%@",info);

            /*

             截取 那一个位置 的字符串;

             截取到哪;

             从哪儿开始截取;

             */

    //        1、从哪个位置开始截取字符串;

            NSString *newString = [info substringFromIndex:4];

            NSLog(@"%@",newString);

    //        练习

            NSString *string4 = @"锄禾日当午,汗滴禾下土,。。。";

    //        NSString *newString2 = [info substringFromIndex:10];

            NSLog(@"%@",[string4 substringFromIndex:12]);

            

    //       2、截取字符串到那个位置;

            NSLog(@"%@",[string4 substringToIndex:12 ]);

            NSLog(@"%@",[string4 substringToIndex:6]);

            

    //        3、从什么位置开始到什么位置结束;

            NSRange range;

            range.location = 5;

    //        在这个位置的基础上,继续数几个长度;

            range.length =7;

    //        继续数的长度;

            NSLog(@"%@",[string4 substringWithRange:range]);

            

            NSRange jia;

            jia.length = 5;

            jia.location = 8;

            NSLog(@"%@",[string4 substringWithRange:jia]);

            

    //        把字符串通过指定字符分割成数组;

            NSArray *messageList = [string4 componentsSeparatedByString:@"," ];

    //        注意:在里面的逗号“,”必须和要分割的字符里面的逗号一样

            NSLog(@"%@",messageList[0]);

            for (id obj in messageList) {

                NSLog(@"%@ ",obj);

            }

            NSString *ni = @"床前明月光;凝视地上霜;举头望明月;低头思故乡";

            NSArray *messageList1 = [ni componentsSeparatedByString:@";"];

    //        NSLog(@"%@",a);

            for (id 思故乡 in messageList1) {

                NSLog(@"%@ ",思故乡);

            }

    //        把英文字母全部转换成大写的;

            NSString *English = @"i study english!do you know";

            NSLog(@"%@",English.uppercaseString);

    //        大写转换成小写;

            NSString *English1 = @"I STUDY ENGLISH!DO YOU KNOW";

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

    //        转换成首字母大写;

            NSLog(@"%@",English.capitalizedString);

    //        一句英语中的第一个单词的首字母大写;

    //        NSLog(@"%@",English.);

    //        拼接字符串;

            NSString *string5 = @"我";

            NSString *string6 = @"打";

            NSString *string7 = @"你";

            NSString *q = [string5 stringByAppendingString:string6];

            NSLog(@"%@ ",q);

            NSString *w = [string5 stringByAppendingFormat:@"想打%@",string7];

            NSLog(@"%@",w);

    /*        不可变字符串的拼接,是在原来的把字符串的基础上,在拼接一个字符串   生成另外一个新的字符串;

            不可变字符串   字符串拼接的两个方法都会生成一个新的字符串;

            */

    //        查询字符串;

    //        判断字符串里面是否包含某个字符串;

            NSString *link = @"zxcbvnmkajsldhfgquwyeireotpy";

            

            NSRange range1 = [link rangeOfString:@"dsa"];

    //        NSLog(@"%ld",NSNotFound);

            if (range1.location !=NSNotFound) {

                NSLog(@"%@",link);

            }else

                NSLog(@"没有查询到");

    /*

     (range.location !=NSNotFound)判断是否存在,

     */

            

    //        字符串以什么开始;

    //        字符串的头部包含什么内容;

            if ([link hasPrefix:@"zxc"]!=NO) {

                NSLog(@"存在");

            }else

                NSLog(@"错误");

    //        字符串以什么结束;

            if ([link hasSuffix:@"hj"]!=NO) {

                NSLog(@"是");

            }

            else

                NSLog(@"否");

    //        可变字符串;

    //        替换

            NSMutableString *mustring = [[NSMutableString alloc]initWithString:@"bruse"];

            NSRange range3;

            range3.location = 1;

            range3.length = 4;//从第二个位置替换四个长度;

            

    //        把指定位置的字符串替换成另一个字符串;

            [mustring replaceCharactersInRange:range3 withString:@"lood"];

            NSLog(@"%@",mustring);

    #pragma mark-------可变字符串拼接--------------

            /*1、在原来字符串的基础之上又添加了一个字符串;

              2、使用可变字符串,扩展出来的两个方法;

              3、与原来的字符串合成一个字符串(还是原来的字符串的对象)

            */

    #pragma mark--------练习2---------------------

            NSMutableString *Ver = [[NSMutableString alloc]initWithString:@"我是一名程序员!"];

            NSRange range4;

            range4.location = 4;

            range4.length = 3;

            [Ver replaceCharactersInRange:range4 withString:@"医生"];

            NSLog(@"%@",Ver);

            

    //        删除指定位置的信息;

            NSRange delect;

            delect.location = 0;

            delect.length = 4;

            [Ver deleteCharactersInRange:delect];

            NSLog(@"%@",Ver);

            NSMutableDictionary *mud = [NSMutableDictionary dictionary];

            NSDictionary *dic = @{@"ewq":@"frs",@"tre":@"gfdsh"};

            [mud setObject:@"wew" forKey:@"dfsf"];

            [mud setObject:dic forKey:@"qwe"];

            NSLog(@"%@",mud);

            

        }

        return 0;

    }

  • 相关阅读:
    java多线程详解(7)-线程池的使用
    mysql学习(4)-mysqldump备份和恢复数据
    mysql学习(3)-linux下mysql主从复制
    java多线程详解(5)-Threadlocal用法
    java多线程详解(4)-多线程同步技术与lock
    java多线程详解(3)-线程的互斥与同步
    iava多线程详解(2)-成员变量与局部变量访问
    java多线程详解(1)-多线程入门
    redis 的消息发布订阅
    redis 数据类型
  • 原文地址:https://www.cnblogs.com/iOS-mainstay/p/4589463.html
Copyright © 2011-2022 走看看