OC--字符串
2015-07-15 08:29
357 查看
#warning NSString
#pragma mark - 使用苹果帮助文档
//苹果每次IOS版本的升级,都会添加或更新大量API,并提供相应的参考文档,开发者很难记忆所有API,因此学会使用苹果帮助文档使开发者的一项技能
//打开文档的方法
//Xcode -> Help -> Documentation and API Reference
//文档内包含的基本信息
//Inheerits from 继承自
//Conforms to 遵循什么协议
//Framework 属于哪个框架
//AVailability 什么时候可用
//Declared in 声明在什么头文件里
//Related documents 相关文档
//Sample code 示例代码
//快速打开帮助文档
//在代码中,将鼠标停留在类名或者方法名上, option + 鼠标左键,点击Reference的超链接进入帮助文档;也可以使用command + 鼠标左键,进入头文件,查看类的接口部分
#pragma mark - Foundation框架
//Foundation框架是Cocoa编程,IOS编程的基础框架,包括:字符串,集合,日期,时间等基础类
#pragma mark - 字符串 NSString
//C语言中,字符串是由char (ASCII码)字符组成
//OC中,字符串是由unichar (Unicode)字符组成
//OC中,字符串分为可变字符串和不可变字符串
//NSString,不可变字符串,即:创建以后,内容和长度不能改变
//NSMutableString,可变字符串,即:创建以后,内容还可以修改
#pragma mark - 不可变字符串
NSString *str =
@"DuNiang";
NSInteger a = 250;
//参照printf/NSLog
//常用的高大上的方法, 场景:将其他的格式的变量转换为字符串
NSString *str1 = [NSString
stringWithFormat:@"%@%ld", str, a];
NSLog(@"str1 = %@", str1);
//求字符串的长度
NSLog(@"str1.length = %ld", str1.length);
#pragma mark - 子串 sub
//从哪
NSString *str2 = [str1
substringFromIndex:2];
NSLog(@"str2 = %@", str2);
//到哪
NSString *str3 = [str1
substringToIndex:5];
NSLog(@"str3 = %@", str3);
//指定范围
// NSRange range = NSMakeRange(2, 4);
// NSString *str4 = [str1 substringWithRange:range];
NSString *str4 = [str1
substringWithRange:NSMakeRange(2, 5)];
NSLog(@"str4 = %@", str4);
#pragma mark - 拼接 append
NSString *str5 = [str1
stringByAppendingString:@"haha"];
NSLog(@"str5 = %@", str5);
NSString *str6 = [str1
stringByAppendingFormat:@"haha%d%@", 6666,
@"lala"];
NSLog(@"str6 = %@", str6);
#pragma mark - 替换 replace
//从下标为x开始长度为y的字符串开始替换,替换的的 字符串的长度可以不与被替换的字符串相等
NSString *str7 = [str1
stringByReplacingCharactersInRange:NSMakeRange(2, 5)
withString:@"XiaoJie"];
NSLog(@"str7 = %@", str7);
//指定一个子串进行替换
NSString *str8 = [str1
stringByReplacingOccurrencesOfString:@"Niang"
withString:@"Teng"];
NSLog(@"str8 = %@", str8);
#pragma mark - 比较 compare
//判断相等 ---用布尔类型 相等输出1,不相等则输出0
BOOL ret = [str1
isEqualToString:@"DuNiang250"];
NSLog(@"ret = %d", ret);
BOOL ret0 = [str1
isEqualToString:@"xxxxx"];
NSLog(@"ret0 = %d", ret0);
//比较大小, 大则输出1, 相等输出0, 小则输出 -1;
NSInteger ret1 = [str1
compare:@"DuLiang"];
NSLog(@"ret1 = %ld", ret1);
NSInteger ret2 = [str1
compare:@"DuNiang250"];
NSLog(@"ret2 = %ld", ret2);
NSInteger ret3 = [str1
compare:@"xxx"];
NSLog(@"ret3 = %ld", ret3);
//NSOrderedDesceding 相当于 1,NSOrderedSame 相当于 0, NSOrderedAscending 相当于 -1;
if (NSOrderedDescending == [str1
compare:@"xxx"]) {
NSLog(@"66666");
} else {
NSLog(@"2222222");
}
//比较开头
BOOL ret4 = [str1
hasPrefix:@"xxx"];
NSLog(@"ret4 = %d", ret4);
//比较结尾
BOOL ret5 = [str1
hasSuffix:@"DuNiang250"];
NSLog(@"ret5 = %d", ret5);
#pragma mark - 杂货铺
//字符串类型转换为其他类型
//NSUInteger 无符号的,既没有负数,NSInteger是有符号的
//int:当使用int类型定义变量的时候,可以像写C程序一样,用int也可以用NSInteger,推荐使用NSInteger ,因为这样就不用考虑设备是32位还是64位了。
NSString *str9 =
@"6666";
NSInteger ret6 = [str9
integerValue];
NSLog(@"ret6 = %ld", ret6);
//大小写转换
//1.转小写
NSString *str10 = [str1
lowercaseString];
NSLog(@"str10 = %@", str10);
//2.转大写
NSString *str11 = [str1
uppercaseString];
NSLog(@"str11 = %@", str11);
//3.首字母转大写
NSString *str12 = [str10
capitalizedString];
NSLog(@"str12 = %@", str12);
#pragma mark - 可变字符串
//NSMutableString是NSString的子类
NSMutableString *strM = [NSMutableString
stringWithFormat:@"DuNiang"];
//插入
//[strM insertString:@"要插入的字符串" atIndex:要插入的位置];
[strM insertString:@"Love"
atIndex:2];
NSLog(@"strM = %@", strM);
//删除
//delete 和 remove的区别
//delete是删除,东西不在任何一个区
//remove是移除,你可以将东西从A区移动到B区,但东西仍还在
//NSRange range1 = {下标,删除的字符串的长度};
[strM deleteCharactersInRange:NSMakeRange(6, 0)];
NSLog(@"strM = %@", strM);
#pragma mark - 可变不可变注意事项
//1.不可变字符串的修改操作,本质就是得到一个新的字符串
//2.不可变字符串的修改方法以string开头,有返回值
//3.可变字符串的修改方法没有返回值,修改原字符串
#pragma mark - 使用苹果帮助文档
//苹果每次IOS版本的升级,都会添加或更新大量API,并提供相应的参考文档,开发者很难记忆所有API,因此学会使用苹果帮助文档使开发者的一项技能
//打开文档的方法
//Xcode -> Help -> Documentation and API Reference
//文档内包含的基本信息
//Inheerits from 继承自
//Conforms to 遵循什么协议
//Framework 属于哪个框架
//AVailability 什么时候可用
//Declared in 声明在什么头文件里
//Related documents 相关文档
//Sample code 示例代码
//快速打开帮助文档
//在代码中,将鼠标停留在类名或者方法名上, option + 鼠标左键,点击Reference的超链接进入帮助文档;也可以使用command + 鼠标左键,进入头文件,查看类的接口部分
#pragma mark - Foundation框架
//Foundation框架是Cocoa编程,IOS编程的基础框架,包括:字符串,集合,日期,时间等基础类
#pragma mark - 字符串 NSString
//C语言中,字符串是由char (ASCII码)字符组成
//OC中,字符串是由unichar (Unicode)字符组成
//OC中,字符串分为可变字符串和不可变字符串
//NSString,不可变字符串,即:创建以后,内容和长度不能改变
//NSMutableString,可变字符串,即:创建以后,内容还可以修改
#pragma mark - 不可变字符串
NSString *str =
@"DuNiang";
NSInteger a = 250;
//参照printf/NSLog
//常用的高大上的方法, 场景:将其他的格式的变量转换为字符串
NSString *str1 = [NSString
stringWithFormat:@"%@%ld", str, a];
NSLog(@"str1 = %@", str1);
//求字符串的长度
NSLog(@"str1.length = %ld", str1.length);
#pragma mark - 子串 sub
//从哪
NSString *str2 = [str1
substringFromIndex:2];
NSLog(@"str2 = %@", str2);
//到哪
NSString *str3 = [str1
substringToIndex:5];
NSLog(@"str3 = %@", str3);
//指定范围
// NSRange range = NSMakeRange(2, 4);
// NSString *str4 = [str1 substringWithRange:range];
NSString *str4 = [str1
substringWithRange:NSMakeRange(2, 5)];
NSLog(@"str4 = %@", str4);
#pragma mark - 拼接 append
NSString *str5 = [str1
stringByAppendingString:@"haha"];
NSLog(@"str5 = %@", str5);
NSString *str6 = [str1
stringByAppendingFormat:@"haha%d%@", 6666,
@"lala"];
NSLog(@"str6 = %@", str6);
#pragma mark - 替换 replace
//从下标为x开始长度为y的字符串开始替换,替换的的 字符串的长度可以不与被替换的字符串相等
NSString *str7 = [str1
stringByReplacingCharactersInRange:NSMakeRange(2, 5)
withString:@"XiaoJie"];
NSLog(@"str7 = %@", str7);
//指定一个子串进行替换
NSString *str8 = [str1
stringByReplacingOccurrencesOfString:@"Niang"
withString:@"Teng"];
NSLog(@"str8 = %@", str8);
#pragma mark - 比较 compare
//判断相等 ---用布尔类型 相等输出1,不相等则输出0
BOOL ret = [str1
isEqualToString:@"DuNiang250"];
NSLog(@"ret = %d", ret);
BOOL ret0 = [str1
isEqualToString:@"xxxxx"];
NSLog(@"ret0 = %d", ret0);
//比较大小, 大则输出1, 相等输出0, 小则输出 -1;
NSInteger ret1 = [str1
compare:@"DuLiang"];
NSLog(@"ret1 = %ld", ret1);
NSInteger ret2 = [str1
compare:@"DuNiang250"];
NSLog(@"ret2 = %ld", ret2);
NSInteger ret3 = [str1
compare:@"xxx"];
NSLog(@"ret3 = %ld", ret3);
//NSOrderedDesceding 相当于 1,NSOrderedSame 相当于 0, NSOrderedAscending 相当于 -1;
if (NSOrderedDescending == [str1
compare:@"xxx"]) {
NSLog(@"66666");
} else {
NSLog(@"2222222");
}
//比较开头
BOOL ret4 = [str1
hasPrefix:@"xxx"];
NSLog(@"ret4 = %d", ret4);
//比较结尾
BOOL ret5 = [str1
hasSuffix:@"DuNiang250"];
NSLog(@"ret5 = %d", ret5);
#pragma mark - 杂货铺
//字符串类型转换为其他类型
//NSUInteger 无符号的,既没有负数,NSInteger是有符号的
//int:当使用int类型定义变量的时候,可以像写C程序一样,用int也可以用NSInteger,推荐使用NSInteger ,因为这样就不用考虑设备是32位还是64位了。
NSString *str9 =
@"6666";
NSInteger ret6 = [str9
integerValue];
NSLog(@"ret6 = %ld", ret6);
//大小写转换
//1.转小写
NSString *str10 = [str1
lowercaseString];
NSLog(@"str10 = %@", str10);
//2.转大写
NSString *str11 = [str1
uppercaseString];
NSLog(@"str11 = %@", str11);
//3.首字母转大写
NSString *str12 = [str10
capitalizedString];
NSLog(@"str12 = %@", str12);
#pragma mark - 可变字符串
//NSMutableString是NSString的子类
NSMutableString *strM = [NSMutableString
stringWithFormat:@"DuNiang"];
//插入
//[strM insertString:@"要插入的字符串" atIndex:要插入的位置];
[strM insertString:@"Love"
atIndex:2];
NSLog(@"strM = %@", strM);
//删除
//delete 和 remove的区别
//delete是删除,东西不在任何一个区
//remove是移除,你可以将东西从A区移动到B区,但东西仍还在
//NSRange range1 = {下标,删除的字符串的长度};
[strM deleteCharactersInRange:NSMakeRange(6, 0)];
NSLog(@"strM = %@", strM);
#pragma mark - 可变不可变注意事项
//1.不可变字符串的修改操作,本质就是得到一个新的字符串
//2.不可变字符串的修改方法以string开头,有返回值
//3.可变字符串的修改方法没有返回值,修改原字符串
相关文章推荐
- 开源织梦(dedecms)快速搬家图文教程
- 10个redis和10个t-sql
- Android HOOK工具Cydia Substrate使用详解
- java处理高并发高负载类网站的优化方法
- java处理高并发高负载类网站的优化方法
- 20个代码生成框架
- JS获取当前页面页面URL信息
- Windows 10正式版在美国新蛋提前开卖
- 浅谈序列化与反序列化的理解
- 函数模板的特化
- 20150715 膝盖伤跑步停
- 整理Linux查看系统日志的一些常用命令
- 工作的第8个年头
- FPGA电源设计心得
- new/malloc的区别
- 在Visual Studio中使用Pseudovariables来帮助调试
- USB/IP-Ubuntu 14.04服务端操作手册
- 0C-总结(3)
- Underscore.js 的模板功能
- VS2010制作安装程序