黑马程序员-OC语言-NSMutableString&NSString
2016-01-03 05:16
639 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
NSMutableString是可变字符串,是NSString的子类。
它们俩之间的区别:
NSString是不可变的,里面的文字内容是不能进行修改的。
NSMutableString是可变的,里面的文字内容可以随时更改。
对字符串的操作方法,我们可以从6个方向去分类:构造、增、删、改、查、其他
NSString常用方法(因为不可变,所以不会有增、删、改的操作)
构造方法:
查
其他
NSMutableString常用方法
关于字符串操作的几点思考:
拿到一个新的类, 如何去使用呢?OC的方法名都较长,所以方法名很容易语意化,通过方法名就可以很容易判断方法的用法。
一般情况都是将构造方法点出来, 看看功能, 再转到头文件查看方法。
在学习字符串操作时,就开始养成时常看定义的习惯。
我用Xmind整理的思维导图
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
NSMutableString是可变字符串,是NSString的子类。
它们俩之间的区别:
NSString是不可变的,里面的文字内容是不能进行修改的。
NSMutableString是可变的,里面的文字内容可以随时更改。
对字符串的操作方法,我们可以从6个方向去分类:构造、增、删、改、查、其他
NSString常用方法(因为不可变,所以不会有增、删、改的操作)
构造方法:
文件包容物 NSString * file=[[NSString alloc] initWithContentsOfFile:文件地址:编码格式:错误信息];
格式化字符串 NSString * s=[[NSString alloc] initWithFormat:@"%d+%d=%d",1,2,1+2]; //返回:“1+2=3” 这个字符串串生成oc字符串
从c字符串生成oc字符串 char arr[256]; NSString * file=[[NSString alloc] initWithUTF8String:arr];
查
判断字符串是否是以某个字符串开头 BOOL isTrue1 = [url hasPrefix:@"http://"];
判断字符串是否是以某个字符串结尾 BOOL isTrue1 = [url hasSuffix:@".com"];
返回值是NSComparisonResult类型 NSComparisonResult res = [s1 compare:@"40"];
比较 BOOL isTrue1 = [s1 isEqualToString:s2];//非0即真 NSRange range = [s rangeOfString:@"\\d+" options:1024]; // 通配符\d+表示连续的数字字符串
截取子字符串 NSMutableArray *arr = [s substrings:@"\\d+" options:1024];
把所有的空格替换成一个空格 NSString *s =[s stringByReplacingOccurrencesOfString:"s++" withString:" " options:1024 range:range]
其他
获得字符串中第0个位置的字符 unichar ch = [s characterAtIndex:0];
使用UTF8String属性(方法),可以将OC字符串转换为C语言字符串 printf("%s\n", s.UTF8String);
去除指定字符串 s = [s stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"pnas></"]]; //凡是在这个字符串中出现的字符,搜索字符串的两端,如果在这个字符串出现的字符中,就删除
NSMutableString常用方法
拼接aString到最后面 - (void)appendString:(NSString *)aString;
拼接一段格式化字符串到最后面 - (void)appendFormat:(NSString *)format, ...;
删除range范围内的字符串 - (void)deleteCharactersInRange:(NSRange)range;
在具体位置中插入aString - (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;
替换 - (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString;//使用aString替换range范围内的字符串
将字符串写入文件 BOOL isSuccess = [s writeToFile:@"/Users/apple/Desktop/1.txt" atomically:YES encoding:4 error:&err];
关于字符串操作的几点思考:
拿到一个新的类, 如何去使用呢?OC的方法名都较长,所以方法名很容易语意化,通过方法名就可以很容易判断方法的用法。
一般情况都是将构造方法点出来, 看看功能, 再转到头文件查看方法。
在学习字符串操作时,就开始养成时常看定义的习惯。
我用Xmind整理的思维导图
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
相关文章推荐
- 黑马程序员-OC语言-block
- 算法导论考试题目
- C++重点难点讲解
- 初学C++类比java语法复杂
- C++实现链表的进本操作及测试用例
- C++函数模板
- 谁在哪一排(C语言实现)
- c++中的类型转换函数定义
- 判断颁奖人员(C语言实现)
- 名次预测(C语言实现)
- C++ Primer 学习笔记——IO类
- malloc free new delete 赋值构造函数相关使用及区别
- C语言总结
- 欢迎使用CSDN-markdown编辑器
- 《C语言及程序设计初步》第26讲实践项目
- 内排序之快排算法的实现C++
- C++ #include—尖括号和双引号的区别
- C++异常处理的问题
- C++异常中生命周期回顾
- C++—STL学习笔记