注:NSString不可变字符串
1.通过字面量方式创建一个字符串
NSString *str=@"字符串";
2.输出字符串长度length
NSLog(@"%ld",str.length);
3.通过指定下标获取字符内容 打印汉字时C要大写
NSLog(@"%c",[str characterAtIndex:下标数]);
4.系统提供的便利构造器的方法
NSString *str=[NSString stringWithString:@"字符串"];
可以用便利构造器和初始化方法创建字符串对象,也能正常使用,但是系统还是更倾向于用字面量的方式来完成对象的创建
NSString *str=@"字符串";
NSLog(@"%@",str);
5.substringFromIndex:打印从下标为第n个字符开始之后的所有字符(包含第n个字符)
substringToIndex:打印第n个字符前的所有字符(不包含第n个字符)
NSString *str=@"字符串";
NSLog(@"%@",[str substringFromIndex:n]);
NSLog(@"%@",[str substringToIndex:n]);
6.字符串截取
NSRange是一个结构体,提供了两个成员变量,一个是location起始位置,一个是长度length
NSString *str=@"字符串";
方法一:NSRange *range={起始位置,截取长度};
NSLog(@"%@",[str substringWithRange:range]);
方法二:NSLog(@"%@",[str substringWithRange:NSMakeRange(起始位置,长度)]);
7.比较字符串内容是否一样 isEqualToString
NSString *str1=@"字符串1";
NSString *str2=@"字符串2";
NSLog(@"%@",[str1 isEqualToString:str2]);
比较两个字符串地址是否相同
if(str1==str2){
}
8.判断是否有前后缀
NSString *str=@"字符串";
前缀prefix
NSString *prefix=@"字符";
NSLog(@"%d",[str hasPrefix:prefix]);
后缀suffix
NSString *suffix=@"字符";
NSLog(@"%d",[str hasSuffix:suffix]);
9.把字符串转化为基本数据类型
NSString *strNum=@"字符串";
方法一:int Num=[strNum intValue];
NSLog(@"%d",[strNum intValue]);
方法二:NSInteger Num=[strNum integerValue];
NSLog(@"%d",[strNum integerValue]);
10.stringWithFormat:方法可以把任意类型转换成字符串类型,可以进行拼接
CGFloat g=3.14;
NSInteger a=100;
NSString *str=[NSString stringWithFormat:"%g,%ld,%@",g,a,@"字符串"];
NSLog(@"%@",str);
11.所有字符都大写:uppercaseString
所有字符都小写:lowercaseString
首字母大写其余都小写:capitalizedString
NSString *str=@"字符串";
NSLog(@"%@",str.uppercaseString);
NSLog(@"%@",str.lowercaseString);
NSLog(@"%@",str.capitalizedString);
12.compare:对应只有三个结果,一个是ASC升序,结果是-1,一个是same相同,结果是0,降序DESC,结果是1
NSString *str1=@"字符串";
NSString *str2=@"字符串";
NSLog(@"%ld",[str1 compare:str2]);
13.字符串的拼接:stringByAppendingString
NSString *str1=@"字符串";
NSString *str2=@"字符串";
NSString *strnew=[str1 stringByAppendingString:str2]
NSLog(@"%@",strnew);
14.替换
第一个参数:字符串原有的部分
第二个参数:要替换的内容
NSString *str=@"字符串";
NSString *strnew=[str stringByReplacingOccurrencesOfString:@"字符串原有部分" withString:@"要替换的内容"];
NSLog(@"%@",strnew);
注:可变字符串NSMutableString 是NSString的子类
1.定义一个空的字符串
NSMutableString *str=[[NSMutableString alloc]init];
2.使用字面量的方式创建的是不可变字符串,只能拿不可变的指针来接受
NSMutableString *str=[[NSMutableString alloc]initWithString:@"字符串"];
NSLog(@"%@",str);
3.插入
NSMutableString *str=[NSMutableString stringWithString:@"字符串"];
[str intsertString:@"插入的字符" atIndex:下标位置];
NSLog(@"%@",str);
范围插入
[str replaceCharactersInRange:NSMakeRange(下标位置,占用长度) withString:@"插入的字符"]
NSLog(@"%@",str);
4.改变字符串
[str setSteing:@"改变的字符"];
NSLog(@"%@",str);
在结尾拼接
[str appendString:@"拼接的字符"];
NSLog(@"%@",str);
注:可变字符串在方法上一般是没有返回值的,都是对自身的内容进行修改,在访问的适合字符串已经发生了变化,但是不可变字符串会产生一个新的字符串,一般方法会返回NSString *