iOS常用---NSString,NSMutabuleString

普通的创建字符串:

 1 NSString *string =[[NSString alloc]init]; //创建一个空的字符串,即 @“” 

一 、字符串读取本地文件:

参数一: 文件地址

参数二: 文件内容的下标,如"4" 或者 转换格式,如"NSUTF8StringEncoding"

参数三: 此处需要填写一个二级指针NSError参数,可以创建一个空的NSError对象填写进来,如果用不上直接填写'nil'];

补充:如果在一些时候遇到有NSError型的参数时,只需要填补一个NSError型空对象即可,如:

  NSError *error =nil; //定义一个NSError型空对象 

1  NSString *stringFile =[[NSString alloc]initWithContentsOfFile:@"/user/desck/ios..." encoding:NSUTF8StringEncoding error:&error];//别忘了error前添加取地址符'&'
2 //    当读取文件时,error依然为nil,则读取成功,如果error有值,则读取失败,(没有此文件,或路径不正确等原因...)

二、字符串访问网络文件:

//    字符串读取本地文件

    //    参数一: 文件地址

    //    参数二: 文件内容的下标,如"4" 或者 转换格式,如"NSUTF8StringEncoding"

    //    参数三: 此处需要填写一个二级指针NSError参数,可以创建一个空的NSError对象填写进来,如果用不上直接填写'nil'];

    //    补充:如果在一些时候遇到有NSError型的参数时,只需要填补一个NSError型空对象即可,如:

1 //    NSError *error2 =nil;//定义一个NSError型空对象
2 
3 //    NSURL *url =[NSURL URLWithString:@"www.baidu.com"];
4 
5 //    NSString *stringurl =[[NSString alloc]initWithContentsOfURL:url encoding:4 error:&error2];//别忘了error前添加取地址符'&',当读取文件时,error依然为nil,则读取成功,如果error有值,则读取失败,(没有此文件,或路径不正确等原因...)

三、字符串拼接,格式化字符串

    NSString *str =@"hello";

    int a =123;

    NSString *strFormat =[NSString stringWithFormat:@"www.%@.%d",str,a];//拼接

    NSLog(@"aaaa%@",strFormat);

四、   字符串的比较

//    比较有两种方式"compare" 与 "isEqualToString"

compare 比较:

1 NSString *s1 =@"123";
2     NSString *s2 =@"234";
3     NSComparisonResult compar =[s1 compare:s2];//"compare"方法里还有两个方法,可以根据需要使用,如比较字符串中某个范围的字符串....
4     NSLog(@"%ld",(long)compar); //左边比右边大结果为正数,右边比左边大为负数,相同为0

isEqualToString 比较:

1 //    直接判断两个是否相同
2     if ([s1 isEqualToString:s2]) {
3         NSLog(@"相同");
4     }

五、 根据 首/尾 字符串做判断条件:

1 NSString *path =@"http//:www.hehkjdhsuh.com.jpg.bat";
2     BOOL istrue1 =[path hasSuffix:@"http//"]; //判断首部
3     BOOL istrue2 =[path hasPrefix:@".jpg"]; //判断尾部

六、字符串截取的几种方式

 1     NSString *str =@"abcdefghijklmn";
 2     
 3     //    “NSRange”是结构体,包含了 (范围)location (长度)length 两个属性;
 4 //   一、 查询范围
 5     NSRange range1 =[str rangeOfString:@"c"];//在字符串中找到@"c"的范围(2,1)
 6 //   二、 锁定范围截取
 7     NSRange ranges =NSMakeRange(2, 3);// 设置范围
8 NSString *strs =[str substringWithRange:ranges]; // 获取从第2个开始,长度为3的字符串
也可以动态的循环遍历使用
NSString *word = [text substringWithRange:NSMakeRange(i, 1)]; //for循环中根据'i'的变化每次截取一位



 9 //    三、从第几个开始截取
10     NSString *s =[str substringFromIndex:2];//从第某个位置开始截取到最后
11 //    四、从其中某个字符开始
12 //    NSCaseInsensitiveSearch = 1 //不区分大小写样式
13 //    NSLiteralSearch = 2, // 文字搜索
14 //    NSBackwardsSearch = 4, // 向后搜索
15 //    NSAnchoredSearch = 8, //锚定
16 //    NSNumericSearch = 64, //数字
五、从某个具体的字符开始
17 // NSRange r =[str rangeOfString:从字符串中哪一个字符开始 options:搜索方式 range:搜索范围]; 18 // 如下: 19 NSRange rangee =[str rangeOfString:@"d" options:0 range:range1];

六、 字符串写入文件

1 //    字符串写入文件的方法:
2     NSString *st =@"12345,上山打老虎";
3     NSError *errors =nil;
4 //    BOOL isture =[st writeToFile:文件路径 atomically:YES encoding:NSUTF8StringEncoding error:errors];

七、字符串的替换

1 NSString *str =@"123123123";
2     NSString *str2 =[str stringByReplacingOccurrencesOfString:@"1" withString:@"A"];
3     NSLog(@"%@",str2);//结果:A23A23A23

八、 删除字符串两边的不需要的东西(只会去掉两边的,中间的不会去掉)

1 //    例如:去掉空格
2     NSString * str=@"  4i1234  ";
3     str =[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
4 //    例如:去掉两边的 4
5     str =[str stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"4"]];
6     NSLog(@"%@",str);//结果:i123

九、可变字符串 NSMutbulString-----------------------------------------------------------------------------

 1  NSMutableString *Mstr =[[NSMutableString alloc]initWithString:@"GG"];
// 增: 增天字符串内容
2 2 [Mstr appendString:@"hello"];//可变字符串的增加 3 3 [Mstr appendString:@"123"]; 4 4 NSLog(@"%@",Mstr);//结果:GGhello123 5 6 // 格式化可变字符串 7 8 [Mstr appendFormat:@"~ %@ ~",Mstr]; 9 10 结果:GGhello123~ GGhello123~ ~ 11 12 [Mstr insertString:@"hehe" atIndex:2]; //在2号位置插入字符串 13 14 NSLog(@"%@",Mstr); //结果:GGhehehello123~ GGhello123~ ~ 15 // 删:把字符串中某些内容删掉 16 [Mstr deleteCharactersInRange:NSMakeRange(2, 4)]; //删除“hehe” 17 18 NSLog(@"%@",Mstr); //结果:GGhello123~ GGhello123~ ~ 19 20 // 改: 把字符串的某些内容替换掉 21 22 [Mstr replaceCharactersInRange:NSMakeRange(0, 10) withString:@"www."]; 23 24 NSLog(@"%@",Mstr); //结果:www.~ GGhello123~ ~
原文地址:https://www.cnblogs.com/xjy-123/p/5143890.html