OC中的字符串必须以@开头,引号当中则是字符串的内容。如@“abc”.
NSString对象,一旦被创建,就不可以再修改。NSMutableString(NSString的一个子类)是一个可以更改的字符串对象 。
创建一个字符串常量
NSString *string = @"这是一个字符串常量";
创建一个空的字符串
NSString *string = [[NSString alloc] init];//实例方法
NSString *string = [NSString string];//类方法
快速创建一个字符串 。创建内存区域在常量区
NSString *string = [[NSString alloc] initWithString:@"快速创建字符串"];
NSString *string = [NSString stringWithString:@"快速创建一个字符串"];
快速创建一个格式化字符串 。创建内存区域在堆区
int number = 2;
NSString *string = [[NSString alloc] initWithFormat:@"%d",number];//可以代入一个基本数据类型或其他的字符串对象,将其转为字符串对象
float number = 2.4;
NSString *string = [NSString stringWithFormat:@"%f",number];
判断两个字符串内容是否相同:
if([string1 isEqualToString:string2])
求字符串的长度
[string length];
字符串的转换:
1.大小写:
[string uppercaseString];//全部改成大写
[string lowercaseString];全部改成小写
[string capitalizedString];
2.转换成基本数据类型
[string floatValue];//把字符串转换成float型
3.字符串转换成数组
NSString *string = @"abc bcd xyz";
NSArray *array = [string componentsSeparatedByString:@" "];//根据什么字符来分隔成一个部分,这里是空格
截取字符串
NSString *subString1 = [string substringToIndex:2];截取到第二位(从0开始)
NSString *subString2 = [string substringFromIndex:2];截取从第二位开始,到最末尾
NSRange range;
range.location =4;//不是点语法,是访问结构体里面的元素
range.length =2;
NSString *subString3 = [string substringWithRange:range];//截取从第4位,取两位
字符串的拼接
[string1 stringByAppendingFormat:@:"%@",string2];
[string1 stringByAppendingString:string2];
查找字符串
NSString *link = @"abcdeftarget=_blankxyz";
NSRange range1=[link rangeOfString:@"target=_blank"]
NSLog(@"%@",NSStringFromRang(range1));//查找到的该字符串的位置
if(range1.location ! =NSNotFound)
{
NSLog(@"founded");
}
可变字符串NSMutableString,继承自NSString.
NSMutableString *mutableString1=[[NSMutableString alloc]initWithFormat:@"abc"];
插入操作
[mutableString1 insertString:@"...xyz" atIndex:3];//在第三个位置插入
替换操作
[mutableString1 replaceCharactersInRange:NSMakeRange(0,3) withString:@"efg"];//替换从第0位数三位结束
删除操作
[mutableString1 deleteCharactersInRange:NSMakeRange(0,3)]