本文共 4319 字,大约阅读时间需要 14 分钟。
OCString和CString的区别及NSString的使用方法
在Objective-C开发中,字符串的处理是非常常见的操作。OCString、CString以及NSString作为三种不同的字符串类型,各自有其特点和使用场景。本文将深入探讨这三者的区别,并详细讲解NSString的使用方法。
一、OCString和CString的区别
OCString(Objective-C String)和CString(C String)是Objective-C开发中两种不同的字符串类型。OCString是Objective-C对字符串的封装,支持丰富的方法操作,而CString则是C语言中的字符串类型,主要用于底层操作。
OCString的创建OCString可以通过alloc创建:NSString *tempString = [NSString alloc];// 或者更常用的方式:NSString *tempString = @"hello";NSLog(@"tempString is %@", tempString);
CString的创建C语言的字符串在Objective-C中通常通过NSString来处理。要使用C语言字符串,可以使用initWithCString方法:NSString *string2 = [[NSString alloc] initWithCString:"i am pig" encoding:NSUTF8StringEncoding];NSLog(@"string2 is %@", string2);
字符串的格式化赋值使用format方法可以实现字符串的格式化拼接:NSString *string3 = [[NSString alloc] initWithFormat:@"%@ %@", @"i am", tempString];NSLog(@"string3 is %@", string3);NSString *string4 = [[NSString alloc] initWithFormat:@"%@", @"我是好人"];NSLog(@"string4 is %@", string4);
二、NSString的所有方法
A. 使用类方法创建OC字符串
直接赋值NSString *tempString = @"hello";NSString *string5 = [NSString stringWithString:tempString];NSLog(@"string5 is %@", string5);
使用C语言字符串赋值NSString *string6 = [NSString stringWithCString:"我爱你" encoding:NSUTF8StringEncoding];NSLog(@"string6 is %@", string6);NSString *string7 = [NSString stringWithFormat:@"我是%@", @"猪"];NSLog(@"string7 is %@", string7);
B. 字符串的拼接
C. 字符串长度获取字符串的长度:NSInteger stringLength = [aString length];NSLog(@"aString 的长度是 %lu", stringLength);
D. 判断字符串是否相等使用isEqualToString方法比较两个字符串:NSString *first = @"我2";NSString *second = @"我2";BOOL isEqual = [first isEqualToString:second];NSLog(@"%d", isEqual);
E. 字符串比较
F. 大小写转换
G. 字符串查找
- 前缀检查BOOL isHave21 = [str hasPrefix:@"12"];if (isHave21) {NSLog(@"你赢了");} else {NSLog(@"你输了");}
- 后缀检查BOOL isHave09 = [str hasSuffix:@"90"];if (isHave09) {NSLog(@"找到了");} else {NSLog(@"木有怎么办");}
H. 字符串提取
三、NSMutableString的所有方法
NSMutableString是Objective-C中可变字符串的实现,它支持通过append、insert、delete等方法进行操作。由于NSMutableString是可变的,建议通过这些方法进行操作,而不是直接赋值。
创建可变字符串// alloc创建NSMutableString *mutableStr = [[NSMutableString alloc] initWithCapacity:0];// 类方法创建NSMutableString *mutableStrClass = [NSMutableString stringWithCapacity:0];
增加内容
- 直接添加[mutableStr appendString:@"123"];NSLog(@"mutableStr after append: %@", mutableStr);
- 格式化添加[mutableStr appendFormat:@"%d", 11];NSLog(@"mutableStr after appendFormat: %@", mutableStr);
- 插入特定位置[mutableStr insertString:@"我" atIndex:3];NSLog(@"mutableStr after insert: %@", mutableStr);
- 删除内容
- 删除区间[mutableStr deleteCharactersInRange:NSMakeRange(2, 3)];NSLog(@"mutableStr after delete: %@", mutableStr);
- 修改内容
- 全改[mutableStr setString:@"abcdefg"];NSLog(@"mutableStr after setString: %@", mutableStr);
- 替换区间内容[mutableStr replaceCharactersInRange:NSMakeRange(3, 2) withString:@"一二三四"];NSLog(@"mutableStr after replace: %@", mutableStr);
通过以上方法,可以方便地进行字符串的操作和管理。在实际开发中,合理选择使用哪种字符串类型和方法,取决于具体需求和性能考虑。
发表评论
最新留言
关于作者