NSString是不可变字符串
1.初始化
NSString *string = @"hello";
int number = 3;
NSString *string1 = [[NSString alloc]initWithFormat:@"%@%d",@"hello",number];//可以放多个参数
// NSString *newstring = [NSString stringString:<#(NSString *)#>;
NSString *newstring1 = [NSString stringWithFormat:@"hello"]; //遍历构造器的写法
NSLog(@"string = %@, string1 = %@, newstring1 = %@",string,string1,newstring1);
2.拼接
//方式1:
NSString *newstring1 = [NSString stringWithFormat:@"hello"];
NSString *string = [newstring1 stringByAppendingFormat:@"world"];
NSLog(@"string = %@,newstring = %@",string,newstring1);
//证明拼接后元字符串是没有改变的
// 方式2:
NSString *string1 = [NSString stringWithFormat:@"%@%@",newstring1,@"world"];
NSLog(@"string = %@, string1 = %@",string,string1);
3.截取
NSString *string = [NSString stringWithFormat:@"abcdef"];
NSString *newString = [string substringFromIndex:2];//[index , tail]//截取2以及以后的 cdef
NSLog(@"newString = %@",newString);
NSString *newString1 = [string substringToIndex:2];//ab
NSLog(@"newstring1 = %@",newString1);
NSString *newstring = [string substringWithRange:NSMakeRange(1, 2)]; //bc
NSLog(@"newstring1 = %@",newstring);
4.查询
// 1)查找头部:是否以某个字符串开头
NSString *string = @"www.cctv.com";
//输入网址的时候
BOOL flag = [string hasPrefix:@"www."];
if (flag) {
//找到了操作。。
}else{
//木有找到操作
}
//2)查找尾部:是否以某个字符串结尾
// 输入邮箱的时候
BOOL flag1 = [string hasSuffix:@".com"];
if (flag1) {
//找到了操作。。
}else{
//木有找到操作
}
//3)查找
// [string rangeOfString:<#(NSString *)#>];//查询一个是否穿是否包含一个字符串
NSRange range = [string rangeOfString:@"cctv"];//cctav
NSLog(@"%ld,%ld",range.location,range.length);//存在的话正确输出,不存在的话range.length= 0
//判断是否有要查找的字符串
if (range.length != 0 && range.location != NSNotFound) {
NSLog(@"找到了");
}else{
NSLog(@"没找到");
}
5.比较
NSString *string1 = @"121";
NSString *string2 = @"122";
NSComparisonResult result = [string1 compare:string2];//相同返回0,上面比下面长返回1,下面长返回-1
NSLog(@"%ld",result);
//NSOrderedAscending -1 升序
//NSOrderedSame 0 相等
//NSOrderedDescending 1 降序
if (result == NSOrderedSame) {
NSLog(@"相等");
}
// //数值类型转化为字符串
// int number1 = [string1 intValue];
// int number2 = [string2 intValue];
//内容比较
if ([string1 isEqualToString:string2]) {
NSLog(@"内容相同");
}
6.大小写转化,数值转化
NSString *string = @"hEllo WoRld";
NSString *newstring = [string uppercaseString];//转换为大写uppercaseString
NSLog(@"%@",newstring);
NSString *newstring1 = [string lowercaseString];//转换为小写lowercaseString
NSLog(@"%@",newstring1);
7.长度
8.替换
NSString *string = @"hello world hello";
NSString *newstring = [string stringByReplacingOccurrencesOfString:@"hello" withString:@"abc"];//参数2替换参数1
NSLog(@"newString = %@",newstring);
9.获取字符
NSString *string = @"hello world hello";
char ch = [string characterAtIndex:1];
NSLog(@"%c",ch);