• oc基础 不可变字符串的创建和使用


    oc基础  不可变字符串的创建和使用

    简介:下面都是字符串基本用法。

    1.字符串的创建

    //创建oc常量字符串
            NSString *str=@"hello world!";
            NSLog(@"%@",str);
            
            //用c语言的字符串来创建oc的字符串
            char *ch="hello world C";
            NSString *str2=[[NSString alloc] initWithUTF8String:ch];
            NSLog(@"%@",str2);
            
            //用格式化来创建字符串
            int a=10;
            NSString *str3=[[NSString alloc] initWithFormat:@"%@ %d",str2,a];
            NSLog(@"%@",str3);
            
            //用类方法来创建字符串
            NSString *str4=[NSString stringWithFormat:@"%@%@",str2,str];
            NSString *str5=[NSString stringWithUTF8String:ch];
            NSLog(@"%@ , %@",str4,str5);
            
            //读取文件来创建字符串
            NSString *path=@"/Users/qf/Desktop/my2/Car.h";
            NSError *error;
            NSString *str6=[[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
            NSLog(@"%@",str6);

    2.字符串的使用

    (1)判断两个字符串是否相等和比较大小(区分大小写)

            NSString *str1=@"hello world";
            NSString *str2=@"Hello world";
            
        
            if([str1 isEqualToString:str2])
            {
                NSLog(@"yes");
            }
            else
            {
                NSLog(@"no");
            }
            if ([str1 compare:str2]==-1) {
                NSLog(@"str1<str2");
            }
            else if ([str1 compare:str2]==0)
            {
                NSLog(@"str1==str2");
            }
            else
            {
                NSLog(@"str1>str2");
            }
        

    (2)判断比较大小(不区分大小写)

            //不区分大小写
            if ([str1 caseInsensitiveCompare:str2]==-1) {
                NSLog(@"str1<str2");
    
            }
            else if ([str1 caseInsensitiveCompare:str2]==0)
            {
                NSLog(@"str1==str2");
    
            }
            else
            {
                NSLog(@"str1>str2");
    
            }
            

    (3)大小写转换

            //转大写
            NSString *str3=[str1 uppercaseString];
            NSLog(@"%@",str3);
            
            //转小写
            NSString *str4=[str2 lowercaseString];
            NSLog(@"%@",str4);
            
            //首字母大写,其他变小写
            NSString *str5=[str2 capitalizedString];
            NSLog(@"%@",str5);
        

    (4)搜索字符

            //查找是否包含
            NSString *str6=@"I love huang xiao dan.";
            NSString *str7=@"love";
            NSRange range=[str6 rangeOfString:str7];
            NSLog(@"%d,%d",range.location,range.length);
            if (range.location==NSNotFound) {
                NSLog(@"没找到");
            }
            else
            {
                NSLog(@"找到了");
            }
            
            //查找某个位置的字符
            char c=[str6 characterAtIndex:7];
            NSLog(@"%c",c);

    (5)字符截取

            //从位置0开始,截取到指定的位置,开区间
            NSString *str8=[ str6 substringToIndex:6];
            NSLog(@"%@",str8);
            
            //从指定的位置开始,一直截取到字符串的末尾,闭区间
            NSString *str9=[str6 substringFromIndex:6];
                       NSLog(@"%@",str9);
            
            //截取指定范围的字符串
            NSRange range1=NSMakeRange(3, 5);
            NSString *str10=[str6 substringWithRange:range1];
            NSLog(@"%@",str10);

    (6)判断以字符串开头或结尾

             //判断字符串是否以“I”开头
             if([str6 hasPrefix:@"I"])
            {
                NSLog(@"yes");
            }
            else
            {
                NSLog(@"no");
            }
            //判断字符串是否以“dan”结尾
            if([str6 hasSuffix:@"dan"])
            {
                NSLog(@"yes");
            }
            else
            {
                NSLog(@"no");
            }
        

    (7)字符串转数字类型

            NSString *str11=@"10";
            
            NSLog(@"%d",[str11 intValue]);    
            //转其他数字类型类似

    (8)字符串替换

            NSString *str12=@"I am a good student.";
            NSString *str13=[str12 stringByReplacingCharactersInRange:NSMakeRange(2, 3) withString:@"asjhja"];
            NSLog(@"%@",str13);    

    (9)字符串的分割和组合

            //单个字符分割
            NSArray *array=[str12 componentsSeparatedByString:@" "];
            NSLog(@"%@",array);
            
            //字符集进行分割
            NSString *str14=@"I like a cat,and!dn sa!";
            NSCharacterSet *set=[NSCharacterSet characterSetWithCharactersInString:@" , !"];
            NSArray *array2=[str14 componentsSeparatedByCharactersInSet:set];
            NSLog(@"%@",array2);
            
            //字符组合
            NSString *str15=[array2 componentsJoinedByString:@"!"];
            NSLog(@"%@",str15);
        
  • 相关阅读:
    [循环卷积]总结
    [FFT/NTT/MTT]总结
    [BZOJ 4870] 组合数问题
    [BZOJ 4809] 相逢是问候
    [BZOJ 4591] 超能粒子炮-改
    __getattribute__
    __repr__
    __reduce__
    数据库查询转excel小工具
    Git常用操作
  • 原文地址:https://www.cnblogs.com/DWdan/p/4395616.html
Copyright © 2020-2023  润新知