NSString(六)

 

NSString定义出来的对象是不可变的字符串。当我们拿到一个NSString对象,不要将它当作数组使用,要当成一个类来使用。

NSString初始化

1、

        //NSString(不可变字符串)       

        //我们拿到一个NSString对象,不要当字符数组使用,要当成一个类来使用。。

        //初始化1

        NSString *s1 = @"123";

2、

        //初始化2,返回一个空的字符串

        //一般不用这样的方式,因为返回的是不可改变的空值

        NSString *s2 = [[NSString alloc] init];

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

便利构造器:

        NSString *s3 = [NSString string];

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

3、

        //创建格式化字符串

        NSString *s4 = [[NSString alloc]initWithFormat:@"%@456",s1];       

        NSLog(@"%@",s4);

//2015-04-1611:03:20.848 OCLesson4_NSString[1010:49410] 123456

便利构造器:

        //便利构造器

        NSString *s5 = [NSString stringWithFormat:@"%@789",s4];

        NSLog(@"%@",s5);

//2015-04-1611:09:01.253OCLesson4_NSString[1037:51375] 123456789

4、

        //使用字符串初始化字符串       

        NSString *s6 = [[NSString alloc]initWithString:s5];

便利构造器:

        NSString *s7 = [NSString stringWithString:s6];

        NSLog(@"%@",s7);

 

 

 

5、写一个txt文档,然后拖到工程里,再将这个工程里的文档拖到initWithContentsOfFile:@" "这个” ”参数里,就会自动识别txt的地址。

        //用文件给字符串赋值

        NSString *s8 = [[NSString alloc]initWithContentsOfFile:@"/Users/lanou3g/Desktop/OC课上代码/OCLesson4_NSString/OCLesson4_NSString/test.txt" encoding:NSUTF8StringEncoding error:nil];

        NSLog(@"%@",s8);//2015-04-16 11:28:06.604 OCLesson4_NSString[1134:58246] haha我们拿到一个NSString对象,不要当字符数组使用,要当成一个类来使用。。

便利构造器:

        NSString *s9 = [NSString stringWithContentsOfFile:@"/Users/lanou3g/Desktop/OC课上代码/OCLesson4_NSString/OCLesson4_NSString/test.txt" encoding:NSUTF8StringEncoding error:nil];

        NSLog(@"%@",s9);

NSString的使用:

1、

        //使用

        //length 用来获取字符串长度

        NSString *testStr = [NSString stringWithFormat:@"123ABCabc456"];

        NSLog(@"%lu",[testStr length]);//2015-04-16 11:37:58.968 OCLesson4_NSString[1197:60748] 6

2、

        //比较字符串大小

        //NSComparisonResult是一个枚举类型,

        // -1 :前面的 < 后面的

        //  0 :前面的 = 后面的

        //  1 :前面的 > 后面的

        [testStr compare:@"123456"];

3、

        //比较两个字符串是否相等

        [testStr isEqualToString:@"123"];

4、

        //判断前缀

        // 包含:返回YES

        // 不包含:返回NO

        BOOL b1 = [testStr hasPrefix:@"1"];

        NSLog(@"%d",b1);//2015-04-16 11:49:27.805 OCLesson4_NSString[1253:64616] 1

       

        BOOL b2 = [testStr hasPrefix:@"13"];

        NSLog(@"%d",b2);//2015-04-16 11:49:27.805 OCLesson4_NSString[1253:64616] 0

5、

        //判断后缀

        // 包含:返回YES

        // 不包含:返回NO

        bool b3 = [testStr hasSuffix:@"23456"];

        NSLog(@"%d",b3);//2015-04-16 11:55:14.706 OCLesson4_NSString[1292:66018] 1

       

        bool b4 = [testStr hasSuffix:@"65"];

        NSLog(@"%d",b4);//2015-04-16 11:55:14.706 OCLesson4_NSString[1292:66018] 0

6、

        //是否包含

        //8.0以后,10.10以后才有效。

        bool b5 = [testStr containsString:@"123"];

7、

        //大小写转换

        //小写转换

        NSString *temp1 = [testStr lowercaseString];(以小写字母印刷)

        NSLog(@"%@",temp1);//2015-04-16 14:46:10.449 OCLesson4_NSString[1641:83987] 123abcabc456

8、

        //转换大写

        NSString *temp2 = [testStr uppercaseString];(以大写字母印刷)

        NSLog(@"%@",temp2);//2015-04-16 14:47:18.609 OCLesson4_NSString[1653:84450] 123ABCABC456

9、

        //截取字符串

        //从哪开始截取字符串,并且包含该位置。

        NSString *temp3 = [testStr substringFromIndex:2];

        NSLog(@"%@",temp3);//2015-04-16 14:51:14.002 OCLesson4_NSString[1672:85555] 3ABCabc456

10、

        //从头开始到指定位置结束截取,不包含该位置。

        NSString *temp4 = [testStr substringToIndex:7];

        NSLog(@"%@",temp4);//2015-04-16 14:53:47.745 OCLesson4_NSString[1686:86307] 123ABCa

 

 

 

11、

        //截取指定位置指定长度的字符串

        //substringWithRange的参数是一个结构体,结构体中,成员变量:整型的location(位置)和整型的length(长度)

        NSString *temp5 = [testStr substringWithRange:NSMakeRange(3, 3)];//NSMakeRange(3, 3),是oc提供的函数(参数是整型的location,整型的length),用来截取第3个位置开始后长度为3的字符串

        NSLog(@"%@",temp5);//2015-04-16 14:57:17.828 OCLesson4_NSString[1707:87601] ABC

12、

        //字符串转换成数字。

        NSString *s10 = @"123";

        int num1 = [s10 intValue];//只有在字符串里边全部都是数字的时候,才能转换。

        NSLog(@"%d",num1);//2015-04-16 15:00:42.354 OCLesson4_NSString[1728:88795] 123

posted @ 2016-01-10 15:43  恒远也  阅读(163)  评论(0编辑  收藏  举报