NSString常用方法
2019-01-21 本文已影响4人
习惯了_就好
//字符串的创建
NSString *str= @"abc";
NSLog(@"str %@", str);
NSString * str2 = [NSString new];
NSLog(@"str2 %@", str2);
NSString * str3 = [NSString stringWithFormat:@"%@,%@",@"abc",@"def" ];
NSLog(@"str3 %@",str3);
char * c = "abcd";
NSString *str4 = [[NSString alloc] initWithCString:c encoding:nil];
NSLog(@"str4 %@",str4);
//字符串常用方法
NSString *str5 = @"abcdefghij";
NSUInteger len= [str5 length];
NSLog(@"str5的长度是:%lu",len);
NSLog(@"str5的长度是:%lu",str5.length);
NSLog(@"str5的第4个字符是%c",[str5 characterAtIndex:3]);
NSLog(@"str5从第3个字符开始的字符串:%@",[str5 substringFromIndex:2]);
NSLog(@"str5从开始到第6个字符的字符串:%@",[str5 substringToIndex:5]);
NSRange range = {2,6};
NSLog(@"str5从第3个开始后面6个字符组成的子串为%@",[str5 substringWithRange: range]);
// NSRange
//获取一个字符串的索引位置
NSString * temp = @"cde";
NSRange nsRange1 = [str5 rangeOfString:temp];
NSLog(@"location %d,length %d",nsRange1.location,nsRange1.length);
NSLog(@"rangeOfString %@",NSStringFromRange(nsRange1));
NSRange nsRange2 = [str5 rangeOfString:temp options:NSCaseInsensitiveSearch];
if (nsRange2.location == NSNotFound) {
NSLog(@"不在里面");
}else{
NSLog(@"rangeOfString %@",NSStringFromRange(nsRange2));
}
// 判断字符串是否为空
NSString * str6 = @"";
if (str6==nil||str6.length==0) {
NSLog(@"字符串为空");
}else{
NSLog(@"字符串不为空");
}
//判断两个字符串是否相等
NSString *str7 = @"abcd";
NSString *str8 = @"abcd";
if ([str7 isEqualToString:str8]) {
NSLog(@"相等");
}else{
NSLog(@"不相等");
}
NSComparisonResult result = [str7 compare:str8];
//比较两个字符串
switch (result) {
case NSOrderedAscending:
NSLog(@"NSOrderedAscending");
break;
case NSOrderedSame:
NSLog(@"NSOrderedSame");
break;
case NSOrderedDescending:
NSLog(@"NSOrderedDescending");
break;
default:
break;
}
//是否以什么字符串开始
NSString *str9 = @"www.baidu.com";
NSLog(@"%@ 是否是以www开头:%@",str9,[str9 hasPrefix:@"www"]?@"是":@"否");
//是否以什么字符串结尾
NSLog(@"%@是否是以com结尾:%@",str9,[str9 hasSuffix:@"com"]?@"是":@"否");
//int -> NSString
int i = 123;
NSLog(@"int %d 转换成NSString类型为%@",i,[NSString stringWithFormat:@"%d",i ]);
//NSString ->int
NSString *stri = @"123";
NSLog(@"NSString类型的%@转化成int类型为:%d",stri,[stri intValue]);
//float ->NSString
float f = 123.456;
NSLog(@"float%f转换成NSString类型为%@",f,[NSString stringWithFormat:@"%f",f ]);
// NSString ->float
NSString *strf = @"123.456";
NSLog(@"NSString类型的%@转换成float类型为%d",strf,[strf floatValue]);
// double ->NSString
double b = 123.4567;
NSLog(@"double%f转换成NSString类型为%@",b,[NSString stringWithFormat:@"%f",b] );
// NSString ->double
NSString *strd = @"123.4567";
NSLog(@"NSString类型的%@转换成double类型为%f",strd,[strd doubleValue]);
// char -> NSString
char cc = 'a';
NSLog(@"char%c转换成NSString类型为%@",cc,[NSString stringWithFormat:@"%c",cc]);
// 小写转大写
NSString *str10 = @"abcdf";
NSLog(@"abcdf转换成大写:%@",[str10 uppercaseString]);
// 首字母转成大写
NSLog(@"abcdf首字母转成大写:%@",[str10 capitalizedString]);
// 大写转小写
NSString *str11 = @"ABCDE";
NSLog(@"ABCDE转成小写为:%@",[str11 lowercaseString]);
// 字符串拼接
int year = 1991;
int month = 03;
int day = 20;
NSString *birthday =[ NSString stringWithFormat:@"生日%d年%d月%d日",year,month,day ];
NSLog(@"字符串拼接:%@",birthday);
// 字符串末尾追加新的字符串
NSString *str12 = @"abcdef";
NSLog(@"abcdef末尾追加字符串:%@",[str12 stringByAppendingString:@"ghi"]);
// 在指定范围内追加字符串
NSRange range12 = {1,3};
NSLog(@"abcdef从第二个字符串开始,用12替换掉3个字符:%@",[str12 stringByReplacingCharactersInRange:range12 withString:@"12"]);
// 使用新字符替换原有字符
NSLog(@"用字符#替代abcdef字符串中的c%@",[str12 stringByReplacingOccurrencesOfString:@"c" withString:@"#"]);
NSLog(@"过滤字符串中的空格%@",[@" abc def " stringByReplacingOccurrencesOfString:@" " withString:@""]);
//将字符串写入文件
NSString * str13 = @"abcdef";
NSString * path = @"/Users/song/Documents/ios/test/test.txt";
NSError *error ;
BOOL isWriteSuccess = [str13 writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (isWriteSuccess) {
NSLog(@"文件创建成功");
}else{
NSLog(@"文件创建失败,失败原因:%@",error);
}
// 读取文件
NSString *readContent = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
if (error ==nil) {
NSLog(@"文件读取成功,内容为:%@",readContent);
}else{
NSLog(@"文件读取失败,失败原因:%@",error);
}
// NSMutableString
// 可变字符串
// 继承自NSString,拥有NSString所有的属性以及方法
NSMutableString * nmStr = [[NSMutableString alloc] init];
//初始化字符串内容
[nmStr setString:@"abc"];
NSLog(@"setString %@",nmStr);
//动态给字符串末尾追加新值
[nmStr appendString:@"def"];
NSLog(@"appendString %@",nmStr);
//给字符串指定位置添加内容
[nmStr insertString:@"www" atIndex:2];
NSLog(@"insertString %@",nmStr);
//删除指定范围的字符串
NSRange mutablrange = {2,3};
[nmStr deleteCharactersInRange:mutablrange];
NSLog(@"deleteCharactersInRange %@",nmStr);
//替换字符串指定内容
[nmStr replaceCharactersInRange:mutablrange withString:@"baidu"];
NSLog(@"%@",nmStr);
```