OC中字符串NSString
不可变字符串NSString
//1.初始化
//2.使用字符串常量初始化
NSString *s1 = @"hELLO";
//3.初始化方法
NSString *s2 = [[NSString alloc] initWithFormat:@"%@world",s1];
NSLog(@"s2:%@",s2);
//使用一个已经创建好的字符串,初始化另一个字符串
NSString *s3 =[[NSString alloc] initWithString:s2];
NSLog(@"s3:%@",s3);
//使用便利构造器创建字符串
NSString *s4 = [NSString stringWithFormat:@"%@,世界你好",s3];
NSLog(@"s4:%@",s4);
NSString *s5 = [NSString stringWithString:s4];
NSLog(@"s5:%@",s5);
//常用方法
//1.length 返回字符串的长度
NSInteger n1 = [s1 length];
NSLog(@"%ld",n1);
//2.characterAtIndex:返回你输入的位置字符
NSLog(@"%c",[s1 characterAtIndex:1]);
//3.hasPrefix//判断输入的字符串,是不是s5字符串的前缀,如果是返回YES如果不是返回NO;
BOOL b1 = [s5 hasPrefix:@"hello"];
NSLog(@"%d",b1);
//4.hasSuffix//判断输入的字符串,是不是s5字符串的后缀,如果是返回YES如果不是返回NO;
BOOL b2 = [s5 hasSuffix:@"你好"];
NSLog(@"%d",b2);
//5.rangeOfString(字符串的范围):返回输入字符串在S5中的范围(位置和长度),表示范围的结构体是NSRange;
NSRange rang1 = [s5 rangeOfString:@"你好"];
NSLog(@"位置%lu 长度:%ld",rang1.location,rang1.length);
//6.stringWithRange:传入一个范围NSRange,通过这个范围,截取S5中的字符串,并返回;
NSRange range2 = {12,2};
NSString *s6 = [s5 substringWithRange:range2];
NSLog(@"%@",s6);
//7.substringFromIndex://传入一个下标值,输出从这个下标开始一直到结束的子串.
NSString *s7 = @"abcdefg";
NSString *s8 = [s7 substringFromIndex:2];
NSLog(@"%@",s8);
//8.substringToIndex:传入一个下标值,然后从头到该下标的子串返回(输出),不包含该下标的字符;
NSString *s9 = [s7 substringToIndex:5];
NSLog(@"%@",s9);
//9.stringByAppendingString:将参数字符串拼接到S7的后面;
NSLog(@"%@",[s1 stringByAppendingString:s8]);//把S8拼接到S7;
//10.isEqualToString:判断两个字符串是否相等,如果是YES,否则NO;
BOOL b3 = [s7 isEqualToString:@"abcdefg"];
NSLog(@"%d",b3);
//11.compare:比较两个字符串大小,如果是升序返回-1(前面小后面打),相同返回0,降序返回1(前面大后面小)
BOOL b4 = [s7 compare:@"abcdefg"];
NSLog(@"%d",b4);
//12.uppercaseString:把小写换成大写
NSLog(@"%@", [s7 uppercaseString]);
//13.lowercaseStribf:把大写换成小写
NSLog(@"%@",[s1 lowercaseString]);
//14.capitalizedString:把首字母换成大写,其余是小写
NSLog(@"%@",[s1 capitalizedString]);
//15.intValue:()找到第一个不是数字的字符为止,将前面的数字字符转换成整形,并返回.
NSString *s14 = @"123";
NSLog(@"%d",[s14 intValue]);
//floatValue:将字符串中浮点型字符转换成浮点型,
NSString *s15 = @"12.5678";
float f1 = [s15 floatValue];
NSLog(@"%f",f1);
//可变字符串
//NSString是不可变的字符串,字符串一旦创建就不能改变了.
//NSMutableString
//可变字符串继承不可变字符串,同时继承了所有的方法.
NSMutableString *ms1 = [[NSMutableString alloc] initWithFormat:@"abcdefg"];
NSMutableString *ms2 = [NSMutableString stringWithFormat:@"abcdefg"];
//NSMutableString *ms3 = @"3123";只有这个不能用,不可变字符串不能定义常量;
//appendString:可变字符串拼接:直接拼接到原字符串后面
[ms1 appendString:@"hijk"];
NSLog(@"%@",ms1);
NSRange rang11 = {0,3};//从0位置,三个字符串(意思就是把前面三个字符串替换成其他的字符串"没有数量限制")
//replaceCharactersInRange字符串拼接
[ms1 replaceCharactersInRange:rang11 withString:@"aaaaaaaaaaaaaaaaaaaaaaaaaaa"];//替换没有数量限制
NSLog(@"%@",ms1);
//insertStrin插入字符串到一个位置,
[ms1 insertString:@"www" atIndex:2];
NSLog(@"%@",ms1);
//deleteCharactersInRange:删除字符串
//NSRange rang12 = {2,3};
[ms1 deleteCharactersInRange:NSMakeRange(2, 3)];
NSLog(@"%@",ms1)