(学习笔记)Nsstring的用法

本文深入讲解了NSString类的使用方法,包括字符串创建、比较、前后缀检查、截取与替换等核心功能,并提供了详细的示例代码。

 

1、NSString介绍和使用

• 一个NSString对象就代表一个字符串(文字内容)

• 一般称NSString为字符串类。

• 文字内容普遍都是用NSString来表示的。 

2、NSString创建方法

• 1)直接创建字符串(常量字符串): 

NSString *str1 = @"This is a string";

• 2)格式化(拼接)字符串(堆区): 

        int age = 10;

        age = 20;

        NSString *str2 = [NSString stringWithFormat:@"我今年%d岁,%@",age,str1];

        NSLog(@"str2 - %@",str2);

• 3)转换C语言字符串 

        char *s = "c字符串";

        NSString *str3 = [NSString stringWithUTF8String:s];

3、NSString字符串比较 

    1、NSString的大小写处理 

-(Nsstring *)uppercaseString;//全部字符转换为大写

        NSString *str1 = @"abcdefgh";

        NSString *str2 = [str1 uppercaseString];   //uppercaseString - 是把小写变大写,返回的是一个新的字符串

        NSLog(@"str2 - %@",str2);

        NSLog(@"str1 - %@",str1);

-(Nsstring *)lowercaseString//lowercaseString - 把大写变小写的方法

        NSString *str3 = [str2 lowercaseString];//返回的依然是一个新的字符串

        NSLog(@"str3 - %@",str3);

-(Nsstring *)capitalizedString //capitalizedString - 把首字母变大写

        NSString *str4 = @"i love china";

        NSString *str5 = [str4 capitalizedString];

        NSLog(@"str5 - %@",str5);

2、字符串的比较 

  • 1、两个字符串的内容相同就返回YES, 否则返回NO 

                -(Bool)isEqualToString:(Nsstring *)aString

                NSString *str1 = @"this is b string";

                NSString *str2 = @"this is a string";       

                BOOL isSame = [str1 isEqualToString:str2];//isEqualToString - 是不是相同

                NSLog(@"isSame - %d",isSame);//两个字符串的内容相同就返回YES, 否则返回NO 

  • 2、这个方法可以用来比较两个字符串内容的大小 

                NSString *str1 = @"this is b string";

                NSString *str2 = @"this is a string"; 

                NSLog(@"compare - %ld",(long)[str1 compare:str2]);

                //compare - 和c语言字符串比较类似

                //两个字符串相同返回0  ;  左边 < 右边   返回-1 ;  左边 > 右边   1

  •     比较方法: 逐个字符地进行比较ASCII值,只要有一个值能够比较出大小,就不再

    继续比较。返回NSComparisonResult作为比较结果 

            NSComparisonResult是一个枚举,有3个值

            如果左侧 < 右侧,返回NSOrderedAscending

            如果左侧 > 右侧,返回NSOderedDescending,

            如果左侧 == 右侧,返回NSOderedSame

        -(NSComparisonResult)caseInsensitiveCompare:(NSString *)string//忽略大小写进行比较,返回值与compare一样 

• 另外,在使用compare方法时可以添加参数来决定是否区分大小写,或者声明为比 较字符串个数而不是字符值等比较条件 

4、NSString前后缀检查及搜索 

        1、字符串前后缀检查 

                    1> 前缀检查--是否以www.baidu开头 

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

                    BOOL isPre = [str1 hasPrefix:@"www.baidu"];  //hasPrefix - 检查前缀是否是www.baidu

                    NSLog(@"is - %d",isPre);

                    2> 后缀检查--是否以.com结尾              

                    BOOL isSuf = [str1 hasSuffix:@".com"];

                    NSLog(@"isSuf - %d",isSuf);

            2、字符串查找 

            //用来检查字符串内容中是否包含了aString

             //如果包含,就返回aString的范围

            //如果不包含,NSRange的location为NSNotFound,length为0

            -(NSRange)rangeOfString:(NSString *)astring

            3、NSRange介绍
                ○ NSRange是Foundation框架中比较常用的结构体, 它的定义如下: 

             

                

                ○ NSRange用来表示事物的一个范围,通常是字符串里的字符范围或者数组 里的元素范围。

                        • NSRange有2个成员 

                  ○ 如何创建NSRang 

                    NSRange range = NSMakeRange(7,3);

   5、字符串的截取和替换 

          NSString *str1 = @"在笔直的道路上蜿蜒前行";

          NSString *str2 = [str1 substringWithRange:rang];//substringWithRange - 按照你给的range取字符串

        //生成一个新的字符串

        NSString *str2 = [str1 substringFromIndex:4];//从当前位   到   尾部

        NSLog(@"str2 - %@",str2);

        NSString *str3 = [str1 substringToIndex:4];//substringToIndex  从首位到当前位

        NSLog(@"str3 - %@",str3);

//字符串的替换函数 - stringByReplacingOccurrencesOfString

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

        NSString *str5 = [str4 stringByReplacingOccurrencesOfString:@"baidu" withString:@"SIS"];

//@"baidu"被替换的内容;@"SIS"替换的内容

6、NSString的其他用法 

   1、获取字符串长度

        NSString *str = @"0123456";

        NSLog(@"str - %lu",(unsigned long)[str length]);

        str = @"我爱中国01234aaa";

        NSLog(@"str - %lu",(unsigned long)[str length]);

    2、获取具体位置的字符

        //characterAtIndex - 字母在位置

        str = @"0123456";

        char a = [str characterAtIndex:0];

    3、字符串和其他数据类型转换

        -(double)doubleValue;

        - ( float )floatValue;

        -(int)intValue;

         NSString *str2 = @"233.342423";

        NSLog(@"str2 - int - %lf",str2.doubleValue);

 

 

转载于:https://my.oschina.net/ykbaobao/blog/741187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值