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);
    

 

posted on 2015-04-06 11:07  卡丁车h  阅读(261)  评论(0编辑  收藏  举报

导航