NSString
一 万事开头 初始化
两种方案:
NSString *str = @"hello"; NSString *str3=[[NSString alloc] init]; str3 = @"ios";
第一种系统自动给释放内存 第二种需要自己释放内存。Java有垃圾回收机制栈区和堆区都不用自己回收。
二 常用的方法
1 格式化输出 stringWithFormat
int a = 12; int b = 12; NSString str4 = [NSString stringWithFormat:@"a=%d b=%d" ,a,b]; NSLog(@"str4 = %@",str4);
2 字符串的拼接 stringWithByAppendingString
stringByAppendingPathComponent //会自动在前面添加斜线 /
NSString *str5 = [str4 stringByAppendingStirng:str3] NSLog(@"str5 =" ,str5)
♥注意 新建字符串的时候,开辟了一块内存空间。由于NSString的特性,NSString为定长的。不像java中的BufferString。
再拼接之后,实际上是开辟了另外一个内存地址存放拼接后的字符串。
3 大小写转换 lowercaseString uppercaseString
4 判断前后缀 hasPrefix hasSuffix
5 比较字符串 NSComparisonResult
6 按照指定字符分割字符串 componentsSeparatedByString:@","
7 按照范围截取字符串 subStringWithRange
NSString *str5 = [str1 subStringWithRange:NSMakeRange(1,5)]
8 从某一位开始截取后面的字符串 subStringFromIndex:2
9 从开头截取到某一位 subStirngToIndex:7
10 将字符串拆分每一个字符 characterAtIndex
for (int i = 0; i < [str length]; i++) { NSLog(@"%c",[str characterAtIndex:i]) }
11 查找指定字符串位置 rangeOfString
12 替换摸一个范围的内容 stringByReplacingCharactersInRange
NSString *str = [str2 stirngByReplacingCharactersInRange:NSMakeRange(0,5) withString:@"xxx"];
13 替换源字符串中的字符串 stirngByReplacingOccurrencesOfString:@""withString:""
14 读取文件
14.1 读取网络文件 URLWithString
NSURL *httpURL = [NSString URLWithString:str]; NSString *httpStr = [NSString StringWithContentOfURL:httpURL encoding:NSUTF8StringEncoding error:nil];
14.2 读取本地文件 fileURLWithPath
NSString *fileStr = [NSString StringWithContentOfFile:@"路径"。。。];
15 读取文件 writeToFile
16 判断字符串是否相等 isEqualToString:
17 字符串转型
NSString *ss = @"123"; int a = [ss intValue]+13; //字符串转int型 double dd = [ss doubleValue]+33.3; //字符串转double型 NSLog(@"%g",dd);
//字符串转数组 分割后直接赋值给数组
NSString *zifuchuan =@"one,two,three,four";
NSLog(@"string:%@",zifuchuan);
NSArray *array = [zifuchuan componentsSeparatedByString:@","];
//数组转字符串
NSString * zifuchuan2 = [array componentsJoinedByString:@","];
NSLog(@"zifuchuan2:%@",zifuchuan2);
//c --> oc
NSString *str1 = [NSString stringWithUIF8String:s];
//oc -->c
char *s1 = [str UIF8String];