// 字面量
NSString *str = @"张三123q";
// lenth字符串的长度
NSLog(@"%ld", str.length);
// 通过指定下标获取字符内容
NSLog(@"%C", [str characterAtIndex:0]);
// 通过alloc和init创建一个空字符串
NSString *str1 = [[NSString alloc] init];
NSString *str = [[NSString alloc] initWithString:@"药药"];
// 系统提供的便利构造器的方法
NSString *str = [NSString stringWithString:@"切克闹"];
// 用便利构造器和初始化方法创建字符串对象可以,也可正常使用,但系统还是倾向于用字面量创建对象
NSString *str1 = @"asdasdasd asdsadasd asdassa";
// substringFromIndex:从某处开始截取
// substringToIndex:截取到某处
NSLog(@"%@", [str1 substringFromIndex:1]);
NSLog(@"%@", [str1 substringToIndex:3]);
// 部分截取
// NSRange是一个结构体,提供了长度和起始位置两个成员变量
NSRange range = {1, 5};
NSLog(@"%@", [str1 substringWithRange:range]);
// 或
NSLog(@"%@", [str1 substringWithRange:NSMakeRange(1, 5)]);
// isEqualToString:判断两字符串是否相同
NSString *str1 = @"nihao";
NSString *str2 = @"nihao";
NSLog(@"%d", [str1 isEqualToString:str2]);
if (str1 == str2) {
NSLog(@"1");
}
// hasPrefix:判断是否有前缀
// hasSuffix:判断是否有后缀
NSString *str = @"zhangsan";
NSLog(@"%d", [str hasPrefix:@"zhang"]);
NSLog(@"%d", [str hasSuffix:@"san"]);
// 将字符串类型,转换成整型等基本数据类型
NSString *strNum = @"12345";
int num = [strNum intValue];
NSLog(@"%d", num);
// stringWithFormat:把任意类型转化为字符串类型,同时可以进行拼接
CGFloat g = 3.14;
NSInteger d = 100;
NSString *str = [NSString stringWithFormat:@"%ld%g%@", d, g, @"张三"];
NSLog(@"%@", str);
// uppercaseString所有字符都大写
// lowercaseString素有字符都小写
// capitalizedString首字母大写,识别空格
NSString *str = @"zhang san";
NSLog(@"%@", str.uppercaseString);
NSLog(@"%@", str.lowercaseString);
NSLog(@"%@", str.capitalizedString);
// compare:比较字符串
// 对应只有三个结果,一个是ASC升序,结果是-1,same相同,结果是0,DES降序,结果是1
NSString *str1 = @"lisi";
NSString *str2 = @"zhangsan";
NSLog(@"%ld", [str1 compare:str2]);
// 字符串的拼接
NSString *str1 = @"zhangsan";
NSString *str2 = @"lisi";
NSString *str = [str1 stringByAppendingString:str2];
NSLog(@"%@", str);
// 替换
// 第一个参数:字符串原有内容
// 第二个参数:字符串原有部分
NSString *str = @"张三李四王二麻子";
NSString *strNew = [str stringByReplacingOccurrencesOfString:@"张三" withString:@"赵钱孙李"];
NSLog(@"%@", strNew);
// 可变字符串
// NSMutableString是NSString的子类
// 是用字面量创建的是不可变字符串,只能那不可变指针接收
NSMutableString *str2 = @"张三";
// 插入
[str2 insertString:@"李" atIndex:3];
NSLog(@"%@", str2);
// 部分替换
[str2 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"赵"];
NSLog(@"%@", str2);
// 全部替换
[str2 setString:@"张三"];
NSLog(@"%@", str2);
// 拼接
[str2 appendString:@"李四"];
NSLog(@"%@", str2);
// 可变字符串方法上一版没返回值, 都是对自身内容进行修改,访问的时候字符串已经发生了变化, 但不可变字符串会产生一个新的字符串,一般方法返回NSString *