OC 字符串及可变字符串NSMutableString NSData 写文件
2015-12-09 22:27 AB小博客 阅读(854) 评论(0) 收藏 举报NSString *name = @"xiaoren";
int age = 20;
给字符串赋值
NSString *name1 = [NSString stringWithFormat:@"name=%@ age=%d",name,age ];
NSLog(@"%@",name1);
NSUInteger len = [name1 length];
NSLog(@"%lu",len);
//获得第4个索引的字符
char c = [name1 characterAtIndex:4];
NSLog(@"%c",c);
for (int i=0; i<len; i++) {
NSLog(@"%c",[name1 characterAtIndex:i]);
}
NSData
NSData *date = [name1 dataUsingEncoding:NSUTF8StringEncoding]; //转换成十六进制的字符
NSLog(@"%@",date);
NSString *name3 = [[NSString alloc]initWithData:date encoding:NSUTF8StringEncoding];//将十六进制代码转换成字符串
NSLog(@"%@",name3);
写文件
NSString *str = @"Hello World";
NSString *path = @"/Users/mac/Desktop/test.txt";
BOOL result = [str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil]; //写入文件
NSLog(@"result=%d",result);
读文件
NSString *newstring = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",newstring);
截取字符串
NSLog(@"%@",[name1 substringFromIndex:5]); //截取第五个后前的全部字符
NSLog(@"%@",[name1 substringToIndex:5]); //截取前五个字符
NSRange range = NSMakeRange(4, 8); //范围
NSLog(@"%@",[name1 substringWithRange:range]);//根据范围截取字符串
//字符转换
NSString *age2 = @"18";//如果不是int类型的 则为0
NSString *name2 = @"3.14";
NSString *name5 = @"false";
转换成Int
int a = [age2 intValue];
float b = [name2 floatValue];
NSLog(@"%d",a);
NSLog(@"%f",b);
BOOL cc = [name5 boolValue];
NSLog(@"%d",cc);
字符串大小写转换
NSString *str3 = @"hello world";
NSLog(@"%@",[str3 uppercaseString]);//转换成大写输出 HELLO WORLD
NSLog(@"%@",[str3 lowercaseString]);//转换成小写输出 hello world
NSLog(@"%@",[str3 capitalizedString]);//转换成首字母大写输出 Hello World
字符串比较
NSString *str6 = @"a";
NSString *str7 = @"b";
NSComparisonResult r=[str6 compare:str7];
NSLog(@"%ld",(long)r); //0表示相等
//可变字符串
//可变字符串 是继承NSString的,NSString中的方法属性在NSMutableString里面都可以使用
//1.一般用静态方法初始化一个类 这样不用管理内存 就是通过类名称可以直接访问方法 不需要alloc
//通过类名称直接访问方法 不需要管理内存
NSMutableString *strr1 = [[NSMutableString alloc]initWithCapacity:5];
//通过类名称直接访问方法 不需要管理内存
NSMutableString *mStr2 = [NSMutableString stringWithCapacity:10];
//直接赋值可变字符串 C方法
NSMutableString *mStr3 = [NSMutableString stringWithString:@"xiaowang"];
//2.追加字符串 超过初始化长度会自动添加长度
[mStr2 appendString:@"xiaoren"];
[mStr2 appendString:@"20222"];
NSLog(@"%@",mStr2);
//3.删除字符
NSRange len1 = NSMakeRange(2, 4);
[mStr2 deleteCharactersInRange:len1];
NSLog(@"%@",mStr2);
//4.插入字符
[mStr2 insertString:@"yy" atIndex:4];
NSLog(@"%@",mStr2);
//5.字符串替换 全部替换
[mStr2 setString:@"tihuan"];
NSLog(@"%@",mStr2);