不可变字符串NSString和可变字符串NSMutableArray
来源:互联网 发布:听电子书的软件 编辑:程序博客网 时间:2024/04/28 08:12
1、OC字符串的创建
//当编译器发现一个@""的时候就会自动的生成一个字符串对象,
//该字符串存放在只读数据段
NSString * str1 =@"hello world!";
//用一个现有的字符串str1创建一个新的字符串str2
NSString * str2 = [[NSStringalloc]initWithString:str1];
//用C字符串来创建一个OC字符串
NSString * str3 = [[NSStringalloc]initWithUTF8String:"12345"];
NSString * str4 = [[NSStringalloc]initWithCString:"2345"encoding:NSUTF8StringEncoding]
//用格式符来创建字符串
NSString * str5 = [[NSStringalloc]initWithFormat:@"%@%@%d%.2f", str2, str3,123,12.34f];
//读取文本内容来创建字符串
//第一个参数:文件的路径
//编码格式
NSString * str6 = [[NSStringalloc]initWithContentsOfFile:@"/Users/qianfeng/Desktop/笔记本使用注意事项.txt" encoding:NSUTF8StringEncoding error:nil];
//用类方法创建
//用一个字符串来创建
NSString * str7 = [NSStringstringWithString:str1];
//用C字符串来创建
NSString * str8 = [NSStringstringWithUTF8String:"123"];
//用编码格式来创建
NSString * str9 = [NSStringstringWithCString:"456"encoding:NSUTF8StringEncoding];
//用格式符来创建
NSString * str10 = [NSStringstringWithFormat:@"%@%d", str7,123];
NSString * str11 = [NSStringstringWithContentsOfFile:@"/Users/qianfeng/Desktop/笔记本使用注意事项.txt" encoding:NSUTF8StringEncoding error:nil];
2、不可变字符串(NSString)的常见操作
(1)获取字符串长度
NSUInteger i = [str1length];
(2)获取字符
//获取某个下标的字符
//参数:下标
unichar c = [str1characterAtIndex:3];
(3)判断字符串相等
//比较两个字符串是否相等,返回值BOOL类型,只有两个值: YES或 NO
BOOL b = [str1isEqualToString:str2];
(4)字符串比较
// 返回值类型是NSComparisonResult是一个枚举值
// 其取值范围有三个:
// NSOrderedAscending = -1L, 从左向右是上升趋势,所以左边小于右边
// NSOrderedSame, 相等
// NSOrderedDescending 从左往右是下降趋势,所以左边小于右边
NSComparisonResult result = [str1compare:str2];
if (result ==NSOrderedAscending) {
NSLog(@"str1 < str2");
}elseif(result ==NSOrderedDescending){
NSLog(@"str1 > str2");
}elseif (result ==NSOrderedSame){
NSLog(@"str1 == str2");
}
(5)字符串查找
NSString * str1 = @"abcdefg";
NSRange range1 = [str1rangeOfString:@"fg"];
// typedef struct _NSRange {
// NSUInteger location;
// NSUInteger length;
// } NSRange;
// NSRange是一个结构体,有两个成员变量
// NSUInteger location;开始的位置
// NSUInteger length; 长度
NSLog(@"位置:%lu 长度%lu", range1.location, range1.length);
(6)判断前后缀
//从字符串0下标开始往后查,只要不断篇,都是字符串的前缀
//判断字符串的前缀
BOOL b = [str1hasPrefix:@"abcd”];
//判断字符串的后缀
BOOL b1 = [str1hasSuffix:@"abcdef"];
(7)数字字符串转化
NSString * str = @"123”;
NSLog(@"%i", [strintValue]);
NSLog(@"%f", [strfloatValue]);
NSLog(@"%f", [strdoubleValue]);
NSLog(@"%li", [strintegerValue]);
NSLog(@"%lli", [strlongLongValue]);
NSLog(@"%i", [strboolValue]);
(8)大小写转换
NSString * str1 = @"abcd";
NSString * str2 =@"HELLO WORLD";
//转换成大写
NSString * str3 = [str1uppercaseString];
//转换成小写
NSString * str4 = [str2lowercaseString];
//将字符串的单词 首字母改为大写
NSString * str5 = [str2capitalizedString];
(9)字符串提取
NSString * str =@"abcdefghigdasd";
//从指定位置开始,截取到字符串结束,并且包含指定位置 闭区间
NSString * str1 = [strsubstringFromIndex:6];
//从开始的位置,截取到指定的位置,但是不包含指定的位置 开区间
NSString * str2 = [strsubstringToIndex:4];
//从指定的位置开始截取,截取指定的长度包含指定的位置 闭区间
NSRange range = {4,3};
NSString * str3 = [strsubstringWithRange:range];
(10)在字符串后面追加字符串
//在字符串后面追加字符串
NSString *string7 = [string6stringByAppendingString:@"1234567"];
3、可变字符(NSMutableArray)串常见操作
(1)增加字符串
NSMutableString * muStr = [NSMutableStringstringWithFormat:@"12345"];
//给字符串追加内容
[muStrappendString:@"67"];
[muStrappendFormat:@"%d",89];
(2)删除字符串
NSMutableString * str = [[NSMutableStringalloc]initWithFormat:@"%d",123456];
NSRange range = {2,2};
[str deleteCharactersInRange:range];
(3)修改字符串
NSMutableString * str = [[NSMutableStringalloc]init];
[strsetString:@"13113313192"];
NSRange range = {3,4};
//第一个参数:给定要替换的字符串开始位置和长度
//第二个参数:给定要替换成的字符串
[str replaceCharactersInRange:rangewithString:@"****"];
(4)插入字符串
NSMutableString * str = [[NSMutableStringalloc]init];
[strsetString:@"1233456"];
[str insertString:@"***"atIndex:3];
- 不可变字符串NSString和可变字符串NSMutableArray
- 字符串:NSString(不可变字符串) 和 NSMutableString(可变字符串)
- 不可变字符串NSString和可变字符串NSMutableString
- IOS NSString NSMutableString 不可变|可变字符串
- Foundation框架-字符串对象的操作(不可变字符串NSString和可变字符串NSMutableString)
- 不可变字符串(NSString)与可变字符串(NSMutableString)
- OC_可变和不可变字符串
- iOS OC(四) 字符串NSString 可变数组NSMutableArray 不可变数组NSArray 数值对象类NSNumber NSValue 数值对象类NSNumber
- 字符串:可变字符串与不可变字符串
- 字符串NSString和不可变字符串NSMutableString的基础知识
- oc不可变字符串和可变字符串相关操作
- 蓝懿教育 可变字符串和不可变字符串
- OC 不可变字符串和可变字符串的一些用法
- OC不可变字符串和可变字符串(1)
- 把不可变字符串转成可变字符串
- 黑马程序员——Objective-C学习之不可变与可变字符串(NSString\NSMutableString)
- 不可变字符串 NSString 的基础使用方法
- Foundation框架中的NSString 不可变字符串
- 开发工具推荐
- 汇编 之 子程序(eg : 小写字母 -> 大写字母)
- matlab中的lsqcurvefit使用
- hdu 3306 Another kind of Fibonacci(矩阵快速幂)
- 利用函数查找数据
- 不可变字符串NSString和可变字符串NSMutableArray
- android播放GIF
- ARCHIVELOG模式下用户管理的完全恢复—总结
- eclipse + hadoop 远程文件操作中出现的问题
- 数据结构中图的邻接矩阵表示方法
- [数据结构与算法]编译原理文法知识
- JAVA学习第六十课 — UDP协议 &基于多线程模拟简单的QQ聊天程序
- 程序性能优化探讨(2)——循环展开优化详议
- HDU 1864 最大报销额