OC中的字符串

/*

         字符串

         不可变字符串  可变字符串

         NSString  不可变字符串

         */

        

        //1.初始化一个字符串对象

        NSString *string = @"ibokanwisdom";

        NSString *string2 = [NSStringstringWithFormat:@"Jack"];

     //   NSString *string3 = [NSString stringWithFormat:@"%@%@",@"Jack",@"Rick"];

        NSLog(@"%@",string2);

       // NSString *string3 = [[NSString alloc]initWithString:@"ibokanwisdom"];

        

        

        //使用NSString的类方法来创建字符串 + (instancetype)stringWithFormat:@"格式化标示符"

        NSString *string4 = [NSStringstringWithFormat:@"%@,%d.%f,hi guy",@"Rick",5,5.5];

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

        

        

        NSString *string5 = @"Rick";

        NSString *string6 = @"666";

        NSString *string7 = [NSStringstringWithFormat:@"%@%@",string5,string6];

        NSLog(@"%@",string7);

        

        //从本地文件读取字符串

        NSString *path1=@"/Users/macpro/Desktop/oc/OC-006-02/OC-006-02/hello.html";

        NSError *error;

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

        NSLog(@"string8 =%@,error=%@",string8,error);

    

        

        //从网络读取字符串

        NSURL *url = [NSURLURLWithString:@"http:、、www.baidu.com"];

        error = nil;

        NSString *string9 = [NSStringstringWithContentsOfURL:url encoding:4error:&error];

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


        //字符串的操作

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

        NSUInteger length = [string10 length];//字符串的长度

        

        

        //字符串的截取

        NSString *subString1 = [string10 substringToIndex:5];   //获取字符串开头到字符串的to的位置到结尾的字符串,包括from的位置

        NSLog(@"substring1 = %@",subString1);

        NSString *subString2 = [string10   substringToIndex:6 ];

        NSLog(@"%@",subString2);

        

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

        

        //获取字符串中的某个字符

        NSString *string11 = @"abcdefg";

        

        char c = [string11characterAtIndex:0];//根据字符创中的位置index来获得一个字符串,注意字符串的索引是从‘0’开始

        NSLog(@"%c",c);

        

        //判断字符串的比较,如何判断两个字符串是否相等

        if (subString2 == subString3) {

            NSLog(@"subString2 subString3 相等");

        }

        else{

            NSLog(@"subString2 subString3 不相等");

        

        }

        /*如何让两个字符串的指针和内容相同?

         浅拷贝 深拷贝

         浅拷贝:对象和拷贝的内容公用一份实体,仅仅是引用的变量名称不一样。

         深拷贝:源对象和拷贝的对象相互独立,其中任何一个对象的改动都不会对另一个对象造成影响。

         

         

         */

        

        

        NSString *subString4 = [NSStringstringWithString:subString2];

        if (subString4 == subString2) {

            //内容和指针都相等的时候,才成立

            NSLog(@"subString4 subString2 相等");

        }

        

        else{

            NSLog(@"subString4 subString2 不相等");

        

        

        }

        

        //在实际开发过程中,我们通常只需要比较两个字符串的内容是否相等

        if ([subString2 isEqualToString:subString4]) {

            NSLog(@"subString4 subString2 相等");

        }

        

        else{

            NSLog(@"subString4 subString2 不相等");

        

        }

        

        //比较两个字符串的大小

        NSString *cmpString1 = @"hehehe";

        NSString *cmpString2 = @"hahaha";

        

        NSComparisonResult result = [cmpString1compare:cmpString2];

        

        switch (result) {

            caseNSOrderedAscending:{

                NSLog(@"cmpString1 < cmpString2,升序");

                break;

            }

            caseNSOrderedDescending:{

                NSLog(@"cmpString1 > cmpString2,降序");

                break;

            }

        }

        

        

        //根据字符串拿到对应的range

        NSRange range = [string rangeOfString:@"逗比"];

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

        

        

        //只输出第一个遇到该字符串的位置及该字符串的长度

        NSRange range1 = [string10 rangeOfString:@""];

        NSLog(@"%ld,%ld",range1.location,range1.length);

        

        //判断字符串中是否有xx前缀或xx后缀

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

        

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

            NSLog(@"含有此前缀");

        }

        else{

            NSLog(@"不含有此前缀");

        

        }

        

        //判断是否为 .jpg .png 后缀

        NSString *string13 = @"xxxx,jpg";

        if ([string13 hasSuffix:@"jpg"] || [string13 hasSuffix:@"png"]) {

            NSLog(@"包含此后缀");

        }

        else{

            NSLog(@"不包含此后缀");

        }

        

        

        //字符串拼接

        NSString *string14 = @"www.baidu.com";

        

        [@"http://"stringByAppendingString:string14];

        

        

        //http://static.bigstockphoto.com/images/homepage/2016_popular_photo_categories.jpg

        NSString *string16 =@"http://static.bigstockphoto.com";

        NSString *string17 =@"images/homepage/2016_popular_photo_categories.jpg";

        

        NSString *string18 = [string16 stringByAppendingFormat:@"/%@",string17];//链接两个字符串,并且第二个字符串是按一定格式传进来的

        

        NSString *string19 = [string16 stringByAppendingPathComponent:string17];//在两个字符串之间加/

        

        

        NSString *imagePath =@"http://static.bigstockphoto.com/images/homepage/2016_popular_photo_categories.jpg";

        imagePath = [imagePath lastPathComponent];//取最后一个/后的东西

        

        NSString *theImageName = @"Rick";

        theImageName = [theImageName stringByAppendingPathExtension:@"png"];//在两个字符串之间加个点

        

        

        //字符串的其它常用方法

        //1.字符串的装换函数

        NSString *str = @"111addd33";

        int a1 = [str intValue];

        NSLog(@"%d",a1);

        

        //2.字符串的大小写装换

        NSString *str2 = @"aAabb";

        NSString *str3 = [str2 uppercaseString];//将字符全部改成大写

        

        NSString *str4 = [str3 lowercaseString];//将字符全部改成小写

        

        NSString *str5 = [str4 capitalizedString];//将字符第一个改成大写

        

        NSString *str6 = [str2stringByReplacingOccurrencesOfString:@"bb"withString:@"dd"];

                         

        NSString *str7 = [str2stringByReplacingCharactersInRange:NSMakeRange(1,2) withString:@"GG"];

        

        NSString *str8 = @"aa-bb-cc-dd-ee";

        NSArray *array = [str8componentsSeparatedByString:@"-"]       


        NSString *str7 = [str2stringByReplacingCharactersInRange:NSMakeRange(1,2) withString:@"GG"];

        

        NSString *str8 = @"aa-bb-cc-dd-ee";

        NSArray *array = [str8componentsSeparatedByString:@"-"];

        //separator为分割符,将原字符串内容进行分割,分割得到的结果放到一个数组里,作为返回值


;

        //separator为分割符,将原字符串内容进行分割,分割得到的结果放到一个数组里,作为返回值




   // NSMutableString 可变字符串

        NSMutableString *mString = [NSMutableString stringWithString:@"nihao"];

        

        NSMutableString *mString1 = [NSMutableString stringWithFormat:@"%@",mString];

        

         NSMutableString *mString2 = [NSMutableString stringWithContentsOfFile:@"" encoding:4 error:nil];

        

        NSMutableString *mString3 = [NSMutableString stringWithContentsOfFile:[NSURL URLWithString:@""] encoding:NSUTF8StringEncoding error:nil];

        

        //可变字符串独特的初始化方法,初始化一个空间为100的可变字符串

        NSMutableString *mString4 = [[NSMutableString alloc]initWithCapacity:100];

        

        

        

        //C语言的字符串转换成OC的字符串

      //  [[NSString alloc]initWithCharacters:(nonnull const unichar *) length:(NSUInteger)]

        

       NSMutableString *targetString = [NSMutableString stringWithString:@"呵呵,我靠"];

        NSRange range = [targetString rangeOfString:@""];

        

        //替代

        [targetString replaceCharactersInRange:range withString:@"**"];

        

        

        //在指定位置去插入一个字符串

        [targetString insertString:@"ee" atIndex:3];

        //在字符串末尾添加一个字符串

        [targetString appendString:@"aaa"];

        //在字符串的末尾添加多个字符串

        [targetString appendFormat:@"%@%@",@"cc",@"dd"];

       

        //

        [targetString deleteCharactersInRange:NSMakeRange(3, 2)];


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值