zoukankan      html  css  js  c++  java
  • 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);
        
  • 相关阅读:
    Codeforces 992C(数学)
    Codeforces 990C (思维)
    Codeforces 989C (构造)
    POJ 1511 Invitation Cards(链式前向星,dij,反向建边)
    Codeforces 1335E2 Three Blocks Palindrome (hard version)(暴力)
    POJ 3273 Monthly Expense(二分)
    POJ 2566 Bound Found(尺取前缀和)
    POJ 1321 棋盘问题(dfs)
    HDU 1506 Largest Rectangle in a Histogram(单调栈)
    POJ 2823 Sliding Window(单调队列)
  • 原文地址:https://www.cnblogs.com/DWdan/p/4395616.html
Copyright © 2011-2022 走看看