字符串作为OC语言的基本对象类型,被我们在各种地方广泛使用,因此熟悉掌握字符串的属性和方法,是OC必不可少的基础之一。

    字符串分为可变字符串(NSMutableString)和不可变字符串(NSString),首先我们来学习不可变字符串的属性与方法。

一、不可变字符串

1.创建不可变字符串

主要有四种方法:

    1.

  2.

  3.

  4.

2.获取字符串的长度,获取字符串的长度我们可以使用字符串的length属性,可以以此判断字符串是否为空

3.查找子字符串

  1.从字符串开头查找到你的索引位置(包含索引位置)

  2.从索引位置到结束(不包含索引位置)

  3.查找某个范围内的子字符串

 

4.字符串的比较,一般有两种方法,一种是调用方法isEqualToString,另一种是使用关键字NSComparisionResult,里面有compare方法,调用这个方法,返回的结果为一个枚举类型:NSOrderedAscending(升序), NSOrderedSame(等), NSOrderedDescending(降序)

 

5. 两个对象的比较

        NSString *ob1 = @"Jack";

        NSString *ob2 = @"jacken";

        

        Person *p1 = [[Person new] autorelease];

        Person *p2 = [[Person new] autorelease];

        //注意:p1和p2不是一个对象 只是名字相同而已

//        p1.name = @"Jack";

//        p2.name = @"Jack";

      //当一个对象被添加到一个集合里面(NSArray NSDictionary NSSet)

        //这个对象的引用计数+1

        NSArray *pArray = @[p1];

        p1.name = @"Jack";

        

        NSLog(@"%@", ((Person *)pArray[0]).name);

        

        if ([p1 isEqual:pArray[0]]) {

            NSLog(@"是同一个对象");

        } else{

            NSLog(@"不是同一个对象");

        }

 输出的是:是同一个对象

6.判断字符串是否有某一个前缀和后缀

7.是否包含一个字符串

8.子字符串的具体位置和长度

9.将字符串转换成其他类型,有两种方法,一是强制类型转换,即下面的第一种,二是以initWithFormat的方式创建一个新的字符串,即下面的第二种方法

 //字符串的数字 转化为对应的类型doubleValue floatValue

        NSString *numStr = @"123";

        int num = [numStr intValue];

        

        NSString *ntr = [NSString stringWithFormat:@"%d", age];

 二、可变字符串

  可变字符串相对于不可变字符串,增加的功能主要有增、删、改、插(插入)。

1.创建可变字符串

2.增

3.删

4.改

 

5.插

6.重置字符串

  输出结果: