NSString的个人总结

来源:互联网 发布:java数据库编程db 编辑:程序博客网 时间:2024/05/19 17:10

NSString 用法及其总结

引言:本文是本人的自我归纳和总结,如有不正确之处,希望各位能够指出错误并给出指导,谢谢!


  • 1.概念
  • 2.初始化
  • 3.获取(截取)字符串
  • 4.拼接字符串
  • 5.替换字符串
  • 6.比较字符串
  • 7.分割字符串
  • 8.字符串大小写转换
  • 9.拓展

1.概念

NSString : OC语言中使用的字符串写法,是Foundation框架下的类,在iOS 2.0及之后都在使用,是不可改变的字符串。

2.初始化

常规的初始化方法:

   NSString *str1 = [[NSString alloc]initWithString:@"今天天气真不错"];   NSString *str2 = @"大家一起出去冬游吧";  //以字符串来初始化一个字符串   NSString *str3 = [NSString stringWithString:str2];

字符串的万能方法,常用于字符串的拼接

   NSString *string = [NSString stringWithFormat:@"%@, 我觉得睡觉比较好", str1, nil];

3.获取(截取)字符串

1.substringFromIndex:(NSInteger) :从索引位置开始(包括当前位置),截取到该字符结束

2.substringToIndex:(NSInteger) :从字符串开头截取,知道索引位置结束(不包括输入位置)

3.substringWithRange:(NSRange) :通过范围来截取子串,从location开始(包含)往后截取length个,注意小心越界问题

4.length :获取字符串的长度,返回一个NSInteger类型的值

  • 注意:NSString中使用的方法都需要一个新的字符串来接受输出的字符串,并不会改变字符串本身,因为NSString类型的字符串是不变的。下面介绍的方法亦同。
 //截取字符串代码实现: NSString *string = @"today study OC"; NSString *str1 = [string substringFromIndex:3]; NSLog(@"%@", str1);//输出结果为:"ay student OC" NSString *str2 = [string substringToIndex:3]; NSLog(@"%@", str2);//输出结果为:"tod" NSString *str3 = [string substringWithRange:NSMakeRange(3, 5)]; NSLog(@"%@", str3);//输出结果为:"ay st" NSLog(@"%ld", string.length);//输出结果为:16

4.拼接字符串

1.stringWithFormat:(NSString *), … :字符串的万能用法

2.string stringByAppendingFormat:(NSString *), … :参数用法和万能用法相同

3.string stringByAppendingString:(NSString *):以字符串来拼接字符串

//拼接字符串代码实现        NSString *string = @"paly";        NSString *newString = [string stringByAppendingString:@"Game"];        NSLog(@"%@", newString);//输出:“palyGame”

※ 拓展:

 1.stringByAppendingPathComponent:(NSString *) :是在字符串之后添加“/”号,在拼接上字符。 2.stringByAppendingPathExtension:(NSString *) :这个是给字符串添加后缀的方法。
 //引用上面newStringnewString = [newString stringByAppendingPathComponent:@"hello"];NSLog(@"%@", newString);//输出:“palyGame/hello”newString = [newString stringByAppendingPathExtension:@"png"];NSLog(@"%@", newString);//输出:“palyGame/hello.png”

5.替换字符串

1.stringByReplacingOccurrencesOfString:(NSString*) withString:(NSString*) :替换字符串内的固定内容

2.stringByReplacingCharactersInRange:(NSRange) withString:(NSString *) :替换字符串内的固定位置

//代码实现NSString *string = @"今天好累,今天还下雨了";NSString *newStr = [string stringByReplacingOccurrencesOfString:@"今天" withString:@"昨天"];NSLog(@"%@",newStr);//输出:“昨天好累,昨天还下雨了”NSString *newStr2 = [string stringByReplacingCharactersInRange:NSMakeRange(1, 3) withString:@"不累"];//包含输入的范围值NSLog(@"%@", newStr2);//输出:“今不累,今天还下雨了”

※ 拓展:

stringByReplacingOccurrencesOfString:(NSString *) withString:(NSString *) options:(NSStringCompareOptions) range:(NSRange)   通过options输入判断条件(NSStringCompareOptions对应的条件),来替换输入范围的值。

6.比较字符串


  • 注意:两个字符串进行比较的时候,不能直接判断它们是否相等,需要使用比较的方法来进行两个字符串的对比

1.isEqualTo:(id) 比较两个对象是否相等,返回值为一个BOOL类型的值,相等为YES,不相等为NO。

2.compare:(NSString *) 比较两个字符串,从头开始,相同则进行下一个,返回值为一个NSInteger类型的值(-1、0、1),为-1,说明后面的大;为0,说明相等;为1,说明前面大。

3.hasPrefix:(NSString *) 判断字符串以什么开头,返回一个BOOL类型的值,等为YES,不等为NO。

4.hasSuffix:(NSString *) 判断字符串以什么结尾,返回一个BOOL类型的值,同上。

5.containsString:(NSString *) 查看字符串中是否包含输入的字符串,也是返回一个BOOL类型的值。
//比较字符串代码实现NSString *strOne = @"比较字符串";NSString *strTwo = @"字符串";NSLog(@"%d", [strOne isEqualTo:strTwo]);//输出结果为:“0”NSLog(@"%ld", [strTwo compare:strOne]);//输出结果为:“-1”NSLog(@"%d", [strOne hasPrefix:@"字"]);//输出结果为:“0”NSLog(@"%d", [strTwo hasSuffix:@"串"]);//输出结果为:“1”NSLog(@"%d", [strOne containsString:strTwo]);//输出结果为:“1”

7.分割字符串

componentsSeparatedByString:(NSString *) 遇到输入的字符串,进行分割,并且消除输入的字符串。返回值是一个数组。

//分割字符串代码实现NSString *string = @"20#分割#字符串";NSArray *array = [string componentsSeparatedByString:@"#"];for (NSString *str in array) {    NSLog(@"%@", str);}//输出结果分三次,分别为:“20”,“分割”,“字符串”

※ 拓展:

componentsSeparatedByCharactersInSet:(NSCharacterSet *)遇到一个字符集内包含的元素便进行分割。

8.字符串大小写转换

1.capitalizedString 将单词的首字母转换为字母大写,其余的转换为小写

2.lowercaseString 将字符串中所有的字母转化为小写

3.uppercaseString 将字符串中所有的字母转化为大写

//字符串大小写转换代码实现NSString *string = @"Today tHeWeathEr IS rEally gOOd";NSLog(@"%@", [string capitalizedString]);//输出结果为:“Today Theweather Is Really Good”NSLog(@"%@", [string lowercaseString]);//输出结果为:“today theweather is really good”NSLog(@"%@", [string uppercaseString]);//输出结果为:“TODAY THEWEATHER IS REALLY GOOD”

9.拓展

1.NSString 赋值为文件路径,通过方法获取文件内容
例如下方法:
stringWithContentsOfFile: (NSString * ) encoding:(NSStringEncoding) error:(NSError *__autoreleasing *)

参数说明:1.为一个路径、2.编码格式、3.错误信息

//取得一个.txt文本的内容NSString *path = @"/Users/dllo/Desktop/SSQ/SSQ/area.txt";NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

-(NSString*)lowercaseString 回转换为小写的字符串
-(NSString*)uppercaseString 返回转换为大写的字符串
-(const char*)UTF8String 返回UTF8编码格式的字符串
-(double)doubleValue 返回转换为double 类型的字符串
-(float)floatValue 返回转换为 float 类型的字符串
-(NSInteger)integerValue 返回转换为 NSInteger 类型的新字符串
-(int)intvalue 返回转换为 int 的字符串

注意:这些方法转化的原字符串需要符合转化的条件,不然会输出错误

//返回一个integer类型的字符串NSString *str = @"1231asda";NSLog(@"%ld", [str integerValue]);//输出结果为:“1231”
7 0
原创粉丝点击