// // main.m // 字符串 // // Created by MAC on 15/12/9. // Copyright © 2015年 MAC. All rights reserved. // #import <Foundation/Foundation.h> #import <string.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSString *name = @"xiaoren"; int age = 20; NSString *name1 = [NSString stringWithFormat:@"name=%@ age=%d",name,age ]; NSLog(@"%@",name1); NSUInteger len = [name1 length]; NSLog(@"%lu",len); char c = [name1 characterAtIndex:4]; //获得第4个索引的字符 NSLog(@"%c",c); for (int i=0; i<len; i++) { NSLog(@"%c",[name1 characterAtIndex:i]); } 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); 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 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); } return 0; }