Objective-C NSString字符串(三)
2013-03-03 15:03
260 查看
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。
1.创建经典的NSString字符串
NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组。@+ ” 字符串 ” 这个符号为objective-c NSString 字符串常量的标准用法,char* 创建的时候 无需添加@
2.字符串的遍历
每一个字符串其实是由若干个char字符组成,字符串的遍历实际上就是将字符串中的每一个字符提取出来。
3.字符串的比较
isEqualToString 比较字符串是否完全相等,大小写不一样也无法完全匹配。
hasPrefixe 匹配字符串头
haSuffix 匹配字符串的尾巴
4.字符串的截取与大小写改变
5.搜索字符串与替换字符串
拓展:使用下面这个方法整体替换字符串还可以设置替换的区域。
stringByReplacingOccurrencesOfString:(NSString *)withString:(NSString *) options:(NSStringCompareOptions) range:(NSRange)
1.创建经典的NSString字符串
NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组。@+ ” 字符串 ” 这个符号为objective-c NSString 字符串常量的标准用法,char* 创建的时候 无需添加@
01 | - ( void )viewDidLoad |
02 | { |
03 | [super viewDidLoad]; |
04 |
05 | //经典的字符串赋值 |
06 | NSString *str0 = @ "我是雨松MOMO" ; |
07 |
08 | //字符串格式化合并分别包括 |
09 | //NSString*类型 int类型 char*类型 |
10 | NSString *str1 = [NSString stringWithFormat:@ "我的名字:%@ 我的年龄:%d 我的邮箱:%s" ,@ "雨松MOMO" , 25, "xuanyusong@gmail.com" ]; |
11 |
12 | //字符串赋值 参数中只可以写一个字符串 和第一种很像 |
13 | NSString *str2 = [NSString stringWithString:@ "我是字符串" ]; |
14 |
15 | //字符串转换为utf-8格式 参数为char*类型 |
16 | NSString *str3 = [NSString stringWithUTF8String: "字符串转换utf-8格式" ]; |
17 |
18 | //字符串合并 |
19 | int i = 100; |
20 | char *c = "xuanyusong" ; |
21 | NSString *temp = @ "我是临时字符串" ; |
22 |
23 | //在字符串temp的基础继续添加 int i 与 char* c 组成一个新的字符串 |
24 | NSString *str4 = [temp stringByAppendingFormat:@ "整型: %d 字符型 :%s" ,i,c]; |
25 |
26 | //在字符串temp的基础继续添加temp 并组成一个新的字符串 |
27 | NSString *str5 = [temp stringByAppendingString:temp]; |
28 |
29 | //字符串输出 |
30 | NSLog(@ "str0 = %@" , str0); |
31 | NSLog(@ "str1 = %@" , str1); |
32 | NSLog(@ "str2 = %@" , str2); |
33 | NSLog(@ "str3 = %@" , str3); |
34 | NSLog(@ "str4 = %@" , str4); |
35 | NSLog(@ "str5 = %@" , str5); |
36 |
37 | } |
2.字符串的遍历
每一个字符串其实是由若干个char字符组成,字符串的遍历实际上就是将字符串中的每一个字符提取出来。
01 | - ( void )viewDidLoad |
02 | { |
03 | [super viewDidLoad]; |
04 |
05 | //经典的字符串赋值 |
06 | NSString *str = @ "YUSONGMOMO" ; |
07 |
08 | //字符串的长度 |
09 | int count = [str length]; |
10 |
11 | NSLog(@ "字符串的长度是%d" ,count); |
12 |
13 | //遍历字符串中的每一个字符 |
14 | for ( int i =0; i < count; i++) |
15 | { |
16 | char c = [str characterAtIndex:i]; |
17 | NSLog(@ "字符串第 %d 位为 %c" ,i,c); |
18 | } |
19 |
20 | } |
3.字符串的比较
isEqualToString 比较字符串是否完全相等,大小写不一样也无法完全匹配。
hasPrefixe 匹配字符串头
haSuffix 匹配字符串的尾巴
01 | - ( void )viewDidLoad |
02 | { |
03 | [super viewDidLoad]; |
04 |
05 | NSString *str0 = @ "雨松MOMO" ; |
06 | NSString *str1 = @ "雨松MOMO" ; |
07 |
08 | //字符串完全相等比较 |
09 | if ([str0 isEqualToString:str1]) |
10 | { |
11 | NSLog(@ "字符串完全相等" ); |
12 | } |
13 |
14 | //字符串以开头比较 |
15 | if ([str0 hasPrefix:@ "雨松" ]) |
16 | { |
17 | NSLog(@ "字符串str0以雨松开头" ); |
18 | } |
19 |
20 | //字符串以结尾比较 |
21 | if ([str1 hasSuffix:@ "MOMO" ]) |
22 | { |
23 | NSLog(@ "str1字符串以MOMO结尾" ); |
24 | } |
25 | } |
4.字符串的截取与大小写改变
01 | - ( void )viewDidLoad |
02 | { |
03 | [super viewDidLoad]; |
04 |
05 | NSString *str0 = @ "中文my name is xuanyusong" ; |
06 |
07 | //截取字符串起始点到index为4之间的内容 |
08 | NSString * to = [str0 substringToIndex:4]; |
09 |
10 | NSLog(@ "to = %@" ,to); |
11 |
12 | //截取字符index为2 到结尾之间的内容 |
13 | NSString * from = [str0 substringFromIndex:2]; |
14 |
15 | NSLog(@ "from = %@" ,from); |
16 |
17 | //设置截取字符串的范围 |
18 | //从第二位至第十位 |
19 | NSRange rang = NSMakeRange(2, 10); |
20 | NSString * strRang = [str0 substringWithRange:rang]; |
21 | NSLog(@ "rang = %@" ,strRang); |
22 |
23 | //设置字符串首字母大写 |
24 | NSLog(@ "str0首字母大写:%@" ,[str0 capitalizedString]); |
25 | //设置字符串全部内容为大写 |
26 | NSLog(@ "str0大写:%@" ,[str0 uppercaseString]); |
27 | //设置字符全部内容为小写 |
28 | NSLog(@ "str0小写:%@" ,[str0 lowercaseString]); |
29 |
30 | } |
5.搜索字符串与替换字符串
01 | - ( void )viewDidLoad |
02 | { |
03 | [super viewDidLoad]; |
04 |
05 | NSString *str0 = @ "中文my name is xuanyusong" ; |
06 | NSString *temp = @ "is" ; |
07 | NSRange rang = [str0 rangeOfString:temp]; |
08 |
09 | NSLog(@ "搜索的字符串在str0中起始点的index 为 %d" , rang.location); |
10 | NSLog(@ "搜索的字符串在str0中结束点的index 为 %d" , rang.location + rang.length); |
11 |
12 | //将搜索中的字符串替换成为一个新的字符串 |
13 | NSString *str = [str0 stringByReplacingCharactersInRange:rang withString:@ "哇咔咔卡卡咔" ]; |
14 | NSLog(@ "替换后字符串为%@" , str); |
15 |
16 | //将字符串中" " 全部替换成 * |
17 | str = [str0 stringByReplacingOccurrencesOfString :@ " " withString:@ "@" ]; |
18 | NSLog(@ "替换后字符串为%@" , str); |
19 |
20 | } |
stringByReplacingOccurrencesOfString:(NSString *)withString:(NSString *) options:(NSStringCompareOptions) range:(NSRange)
相关文章推荐
- objective-c下的NSString字符串操作
- Objective-C语法之NSString字符串的那些事儿(三)
- Objective-C里字符串NSString过滤HTML标签的方法
- [5]姥爷幽默谈Objective-C-字符串(NSString)
- Objective-C 字符串和数组NSString NSArray操作
- Objective-C的字符串处理类NSString
- objective-c 中数据类型之二 字符串(NSString)
- Objective-C语法之NSString字符串的那些事儿(三)
- Objective-C NSString字符串处理简单总结 plus 字符串与数值互相转换
- Objective-C: 字符串NSString与NSMutableString
- Objective-C语言中的字符串 - NSString
- 【Objective-C】OC中字符串(NSString)的基本概念和常用处理方法
- Objective-C 字符串和数组NSString NSArray操作
- Objective-C语法之NSString字符串的那些事儿(三)
- objective-c NSString 字符串 (2)
- ios objective-c之-6:字符串NSString
- 【Objective-C】OC中字符串(NSString)的基本概念和常用处理方法
- Objective-C学习- 字符串类型 NSString 和 NSMutableString
- Objective-C 字符串NSString
- objective-c 中数据类型之二 字符串(NSString)