[Objective-C] 007_Foundation框架之NSString与NSMutableString
在Cocoa Foundation中的NSString和NSMutableString类,为我们提供了Unicode字符串的支持,NSString和NSMutableString类最大的区别是:NSString--创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。NSMutableString--创建赋值以后可以动态在该字符串上更改内容与长度。下面是NSString和NSMutableString类的一些常用操作。
1.NSString 创建常量字符串。
NSString *str = @"我是一个字符串 -- This is a String!";
2.NSString 创建空字符,并赋值
NSString *str = [[NSString alloc] init];
str = @"www.babybus.com";
NSLog(@"str内容:%@",str);
[astring release];
NSString *str2 = [[NSString alloc] initWithString:@"www.babybus.com"];
NSLog(@"str2:%@",str2);
[str2 release]; //用标准c创建字符串:initWithCString方法
char *c_str = "www.babybus.com"
NSString *str3 = [[NSString alloc] initWithCString:c_str];
NSLog(@"str3:%@",str3);
[str3 release]; //创建格式化字符串:占位符
NSString *str4 = [[NSString alloc] initWithString:[NSString stringWithFormat:@"宝宝巴士拥有%d用户了",70000000]];
NSLog(@"str4:%@",str4);
[str4 release]; //从文件初始化字符串
NSString *path = [[NSBundlemainBundle] pathForResource:@"test" ofType:@"text"];
NSString *str = [[NSString alloc] initWithContentsOfFile:path];
NSLog(@"str:%@",str);
[str release];
3.NSString 内容写入文件
//获取Documents
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject];
//路径拼接
NSString *fielPath = [documentsPath stringByAppendingPathComponent:@"str.txt"]; NSString *str = [[NSString alloc] initWithString:@"www.babybus.com"];
NSLog(@"str:%@",str);
[str writeToFile:fielPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
[str release];
4.NSString 字符内容比较
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"www.babybus.com";
BOOL result = [str_1 isEqualToString:str_2];
if (result) {
NSLog(@"内容相同...");
}else {
NSLog(@"不好意思,内容不同");
}
//NSOrderedSame判断两者内容是否相同
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"www.babybus.com";
BOOL result = [str_1 compare:str_2] == NSOrderedSame;
NSLog(@"result:%d",result); //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,str_2大于str_1为真)
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"www.babybus.com";
BOOL result = [str_1 compare:str_2] == NSOrderedAscending;
NSLog(@"result:%d",result); //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,str_2小于str_1为真)
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"www.babybus.com";
BOOL result = [str_1 compare:str_2] == NSOrderedDescending;
NSLog(@"result:%d",result);
5.NSString 不考虑大小写内容比较
NSString *str_1 = @"WWW.BABYBUS.COM";
NSString *str_2 = @"www.babybus.com";
//NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
BOOL result = [str_1 compare:str_2 options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame;
NSLog(@"result:%d",result);
6.NSString 输出大写或者小写字符串
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"Good babybus";
NSLog(@"str_1:%@",[str_1 uppercaseString]);//大写
NSLog(@"str_2:%@",[str_2 lowercaseString]);//小写
NSLog(@"str_2:%@",[str_2 capitalizedString]);//首字母大小
7.NSString 查找字符串是否包含其它字符串
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"babybus";
NSRange range = [str_1 rangeOfString:str_2];
if (range.location != NSNotFound) {
NSLog(@"找到了%@",str_2);
}
8.NSString 截取字符串
//substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = [str_1 substringToIndex:3];
NSLog(@"string2--->:%@",str_2); //substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = [str_1 substringFromIndex:3];
NSLog(@"string2--->:%@",str_2); //substringWithRange: 按照所给出的位置,长度,任意地从字符串中截取子串
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = [str_1 substringWithRange:NSMakeRange(0, 4)];
NSLog(@"string2--->:%@",str_2);
9.NSString 是否以某一字符串开头或者结尾
NSString *str = @"http://wwww.babybus.com";
if([String1 hasPrefix:@"http://"] == 1) {
NSLog(@"http://开头") ;
} if([String1 hasSuffix:@"com"] == 1) {
NSLog(@"com结尾") ;
}
10.NSString 获取后缀名
NSString *Path = @"User/SuperDo/string.txt";
NSLog(@"Extension:%@",[Path pathExtension]);
11.NSString 获取拓展路径
NSString *Path = @"User/SuperDo/str.txt";
NSString *absolutePath = [Path stringByExpandingTildeInPath];
NSLog(@"absolutePath:%@",absolutePath);
NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);
12. NSMutableString 字符串拼接
//末尾拼接
NSMutableString *str_1 = [[NSMutableString alloc] initWithString:@"www.babybus.com"];
[str_1 appendString:@",good"];
[str_1 appendFormat:@"go --------->"];
NSLog(@"String1:%@",str_1);
//在指定位置插入
NSMutableString *str = [[NSMutableString alloc] initWithString:@"www.babybus.com"];
[str insertString:@"Hi! " atIndex:0];
NSLog(@"str:%@",str);
13.NSMutableString 替换字符串
NSMutableString *str = [[NSMutableString alloc] initWithString:@"www.babybus.com is NSMutableString"];
[str replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
NSLog(@"str:%@",str);

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4584355.html
[Objective-C] 007_Foundation框架之NSString与NSMutableString的更多相关文章
- OC中Foundation框架之NSString、NSMutableString
创建方式 )直接赋值 NSString *str =@"abc"; )创建对象 NSString *str2 = [[NSString alloc]init]; str2 =@&q ...
- 14.Object-C--浅谈Foundation框架字符串NSString 与NSMutableString
OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的 ...
- Foundation框架-NSString和NSMutableString
可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式 2.3 从文件中 ...
- OC本学习笔记Foundation框架NSString与NSMutableString
一.NSString与NSMutableString 相信大家对NSString类都不陌生.它是OC中提供的字符串类.它的对象中的字符串都是不可变的,而它的子类NSMutable ...
- bjective-C 中核心处理字符串的类是 NSString 与 NSMutableString
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...
- 关于NSString和NSMutableString的相关用法和基本介绍
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...
- Objective - c Foundation 框架详解2
Objective - c Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...
- NSString和NSMutableString常用方法+NSArray常用代码 (转)
常见的NSString和NSMutableString方法: NSString方法: [plain] view plaincopy +(id) stringWithContentsOfFile:p ...
- iOS基础-NSString及NSMutableString剖析
一.NSString头文件 NSString : NSObject 实现协议: NSCopying/NSMutableCopying/NSSecureCoding 类别: //扩展类别 NSStrin ...
随机推荐
- 洛谷P1122 最大子树和 树形DP初步
小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是当日课后,小明就向老师提 ...
- 【学习笔记:Python-网络编程】Socket 之初见
Socket 是任何一种计算机网络通讯中最基础的内容.当你在浏览器地址栏中输入一个地址时,你会打开一个套接字,可以说任何网络通讯都是通过 Socket 来完成的. Socket 的 python 官方 ...
- 使用 kind 快速搭建 kubernetes 环境
使用 kind 快速搭建 Kubernetes 环境 Intro kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适合用来在 ...
- 使用RSS订阅喜欢的微博博主
获取uid方法:进入博主微博主页,使用控制台执行 /uid=(\d+)/. exec(document.querySelector('.opt_box .btn_bed').getAttribute( ...
- 一文教你快速搞懂速度曲线规划之T形曲线(超详细+图文+推导+附件代码)
运动控制中常用的T速度曲线规划的原理和程序实现,最后给出了测试结果: 如果本文帮到了您,请帮忙点个赞
- vue 如何实现 Input 输入框模糊查询方法
原理:原生js的indexOf() 方法,该方法将从头到尾地检索数组,看它是否含有对应的元素.开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时).如果找到一个 item, ...
- CF#633 C. Powered Addition 思维
Powered Addition 题意 给出n个数字,现在你可以在第x秒,选择任意数量的下标,让这些位置上的数加上\(2^{x-1}\),问最快需要几秒使得数列变成一个非递减的序列. 思路 让求x的最 ...
- 风扇转速通过FPGA采样
1.风扇最大转速16000RPM,那么每一转需要时间60S/16000=0.00375S=375*10^4ns=T=T1+T2+T3+T4: 2.采样0.6S内的风扇detect信号的上升沿个数:0. ...
- [codeforces-543-D div1]树型DP
题意:给一棵树的边标上0或1,求以节点i为源点,其它点到i的唯一路径上的1的边数不超过1条的方案数,输出所有i的答案. 思路:令f[i]表示以节点i为源点,只考虑子树i时的方案数,ans[i]为最后答 ...
- 关于C语言的位运算符
早期cpu架构在运行位运算时 略微领先 + - 运算 大幅领先 * / % 运算 '&' 运算符 总结 两个二进制中对应的位置都为 1 结果的对应二进制为 1 '&'运算符可以用到奇偶 ...