版权声明:本文为博主原创,如需转载请注明出处。
1 NSString 类
- Foundation框架,苹果公司提供给我们的工具箱
- 许多的类,(属性,方法)
- 闭源
- Foundation中的所有的类文件都是以NS开头,方便统一使用
- NSObject(基类),NSString
1 |
|
2 字符串的获取
2.1 获取字符串的长度
1 | NSString * str = @"abcd"; |
2.2 根据索引获得单个字符
1 | NSString * str2 = @"www.yoferzhang.com"; |
2.3 根据索引获得字符串的一个子串
1 | NSString * str3 = @"www.yoferzhang.com"; |
2.4 截取字符串的某一段
1 | NSRange rang = {4,6}; |
2.5 获得一个字符串的索引位置
1 | NSString * tmpStr4 = @"yoferzhang";//@"yoferzhang"; |
2.6 获得一个字符串索引范围
1 | int main(int argc, const char * argv[]) |
3 字符串的判断
3.1 判断字符串是否为空
1 | NSString * str = @""; |
3.2 判断字符串是否已指定的内容开头
1 | NSString * str2 = @"www.yoferzhang.com"; |
3.3 判断字符串是否以指定的内容结尾
在开发中中常用在 判断文件格式 .txt .avi,.rmvb mkv doc mp3,mp4 pdf
1 | NSString * str3 = @"www.yoferzhang.com.txtttt"; |
3.4 判断两个字符串是否相等
1 | NSString * pstr1 = @"abc"; |
在实际的开发中,切记不要使用== 号去判断两个字符串是否相等
判断两个字符串是否相等,必须使用NSString提供给我们的方法 isEqualToString
- 判断两个字符串指针地址是否相等,如果相等直接返回yes
- 取出字符串中的每一个字符进行比较
1 | BOOL isEqual = [pstr5 isEqualToString:pstr3]; |
3.6 compare 是isEqualToString的增强版本
1 | NSString * strTmp1 = @"abc"; //a 97 b 98 |
模拟isEqualToString的内部实现
- 判断两个字符串指针地址是否相等,如果相等直接返回yes
- 取出字符串中的每一个字符进行比较
1 |
|
1 |
|
4 基本数据类型转换成字符串
基本数据类型(int float,double char)
4.1 int -> NSString
1 | int a = 10; |
4.2 float -> NSString
1 | float f = 2.4; |
4.3 double -> NSstring
1 | double d = 65.9898; |
4.4 char -> NSString
1 | char c = 'c'; |
4.5 NSString -> int
1 | NSString * str6 = @"1"; |
4.6 NSString -> float
1 | NSString * str7 = @"9.8"; |
4.7 NSString -> double
1 | NSString * str8 = @"8.88"; |
注意:当你要把字符串转换成某种基本数据类型的时候,一定要确定你要转化你的数据是正确
1 | NSString * str9 = @"i386"; |
4.8 将字符串中的字母转换成大写
1 | NSString * str10 = @"china"; |
4.9 将字符中的字母转换成小写
1 | NSString * str11 = @"CHINA"; |
4.10 将首字母大写
1 | NSString * str12 = @"china"; |
5 字符串重组
5.1 多个数据拼接成一个字符串
1 | int year = 1988; |
5.2 字符串的末尾追加新的字符
1 | NSString * str1 = @"www."; |
5.3 在制定的范围追加字符串
1 | NSString * str3 = @"www.com"; |
5.4 使用新的字符,替换原有的字符
1 | NSString * str5 = @"www.yoferzhang.com"; |
5.5 在字符串中删除特定的某些字符
1 | NSString * str7 = @"www---.yoferzhang.--com"; |
5.6 去掉字符串中的空格
1 | NSString * str9 = @"www .yoferzhang .com"; |
6 字符串写入文件
6.1 将字符串写入到文件
- 参数1 要给入文件目录(并且要包括文件名称)
- atomically : YES
- NSUTF8StringEncoding 国际通用的编码格式
- NSError 是用来记录错误信息的
1 | NSString * content = @"数学之法,世界之道"; |
7 从文件中读取字符串内容
要给出文件路径
你写入文件的时候,使用的是什么编码格式,读取的时候就要用什么编码格式
1 | NSString * path = @"/Users/yoferzhang/Desktop/mytest.txt"; |
8 可变字符串
8.1 创建可变字符串
NSMutableString 继承自 NSString
NSMutableString 拥有 NSString 所有的属性以及方法
1 | NSMutableString * muStr = [[NSMutableString alloc] init]; |
1 | NSMutableString * muStr = [[NSMutableString alloc] initWithCapacity:0]; |
8.2 初始化字符串内容
1 | [muStr setString:@"www"]; |
8.3 动态的给字符串末尾追加新值
1 | [muStr appendString:@".com"]; |
8.4 在指定的索引位置,插入字符串
1 | [muStr insertString:@".yoferzhang" atIndex:3]; |
8.5 删除指定范围的字符串
你要删除的长度,一定不能够超出字符串的的长度,导致异常Range or index out of bounds
1 | NSRange range = {3,7}; |
1 | [muStr replaceCharactersInRange:range withString:@"数学之法"]; |
9 基本数据类型的包装类
9.1 使用 NSNumber 包装 int 数据类型
1 | int a = 10; |
9.2 直接转换成字符串
1 | NSString * strInt = [number1 stringValue]; |
9.3 float 包装成 NSNumber
1 | NSNumber * number2 = [NSNumber numberWithFloat:98.98]; |
9.4 包装类转换成基本数据类型
1 | int b = [number1 intValue]; |
10 练习: 计算子串在真个字符串中出现的次数
@”abcd123abcdrgabc”
@”abc”
1 |
|
1 |
|
1 | int main(int argc, const char * argv[]) |