因为项目中需要对数据进行各种处理,达到效果图的样子再进行显示,所以这里简单的总结一下常用的一些操作。后边可能会陆续补充一些。
NSString/NSMutableString
并不说明是否可变和不可变都可以用,这么简单的事情自行处理
- 1.截取字符串
NSString*string =@"1111111.22";
[string substringToIndex:7];//截取掉下标7之后的字符串(不保留下标为7的字符)
[string substringFromIndex:2];//截取掉下标2之前的字符串(保留下标为2的字符)
注意,下标是从零开始算的,要想删除最后以为,就要截取到[string.length-1]位。
- 2.匹配字符串
NSString *string =@"1111111.22";
NSRangerange = [string rangeOfString:@"f"];//匹配得到的下标;
string = [string substringWithRange:range];//截取范围类的字符串
[string containsString:@"."]; // 查找字符串中是否含有"."这个字符,返回值为BOOL类型
- 3.分隔字符串
NSString *string =@"1111111.22";
NSArray *array = [string componentsSeparatedByString:@"."]; //从字符中.分隔成2个元素的数组
NSLog(@"array:%@",array); //结果是1111111和22
//以多个字符串分割
NSArray *arr = [str componentsSeparatedByCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"- :"]];
- 4.拼接字符串
NSString *string1 =@"1111111";
NSString *string2 =@".22";
[string1 stringByAppendingFormat:@"%@",string2];
[string1 stringByAppendingString:string2];
- 5.插入/替换/删除 字符串
NSMutableString *string=[[NSMutableString alloc] initWithFormat:@"abc" ];
//插入
[string insertString:@"insert" atIndex:0 ];// 插入到下标为0这个位置,也就是最前边
//替换
[string replaceCharactersInRange:NSMakeRange(1, 2) withString:@"ddddddd"];// 从下标为1的开始,长度为2的字符,也就是下标为,1,2的字符被替换掉
//删除
[string deleteCharactersInRange:NSMakeRange(1, 2) ];// 从下标为1的开始,长度为2的字符,也就是下标为,1,2的字符删掉
NSArray/NSMutableArray
- 1.排序
// 这是最简单的一种系统排序方式,从小到大
NSMutableArray *secondArray = @[@"2",@"5",@"4",@"3",@"7"];
[secondArray sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 localizedStandardCompare:obj2];
}];
// 所返回的数组就是已经从小到大排好序的数组
// 此方法当然只能用于可变数组
- 2.不常用的方法
NSMutableArray *array = @[@"2",@"5",@"4",@"3",@"7"];
[array containsObject:@"2"]; // 是否包含某个元素
NSString *last = [array lastObject];最后一个元素
NSString *str = [array objectAtIndex:1];根据索引获取数组中的元素
int index = [array indexOfObject:@"2"];获取指定元素的索引
// 利用分隔符-拼接所有的数组元素
NSString *str = [array componentsJoinedByString:@"-"];
// 将一个数组写入文件(生成的是一个xml文件)
NSString *path = @"/Users/apple/Desktop/array.xml";
[array writeToFile:path atomically:YES];
path = @"/Users/apple/Desktop/array.txt";
// 从文件中读取数组内容(文件有严格的格式要求)
NSArray *array2 = [NSArray arrayWithContentsOfFile:path];