oc语言中有两个字符串:NSString和NSMutableString。NSString代表字符序列不可变的字符串,而NSMutableString代表字符序列可变的字符串。
创建字符串
NSString大致包括以下功能:
通过代码来演示三种创建字符串的方式:
代码运行的结果如下:
(其实还可以直接使用字符串常量初始化) 如以下格式:
NSString* str = @"黄昏";
NSString* wife = @"约尔";
NSString的常用功能
str = [str stringByAppendingString:@"的女🦢是Aniya"];
1.stringByAppendingString: 追加固定字符串
const char* cstr = [str UTF8String];
2.UTF8String 将字符串转换为C风格字符串
str = [str stringByAppendingFormat:@",黄昏的妻子是%@", wife];
3.stringByAppendingFormat: 追加带变量的字符串
NSLog(@"这句话有这么长:%ld", [str length])
4.length 求字符串长度
str1 = [str1 uppercaseString];
str1 = [str1 lowercaseString];
5.uppercaseString 字符串大小写转换
lowercaseString 字符串大小写转换
NSString* s2 = [str substringToIndex: 10];
NSString* s3 = [str substringFromIndex: 10];
NSString* s4 = [str substringWithRange: NSMakeRange(1, 11)];
6.substringToIndex:
substringFromIndex:
substringWithRange:
这三个方法都是提取字串的方法
NSRange range = [str rangeOfString: @"黄昏"];
NSLog(@"黄昏在str中出现的开始位置是:%lu,长度为:%lu", range.location, range.length);
7.rangeOfString:
搜索字串的方法
注意:这里的NSMakeRange返回的不是一个类而是一个结构体,这个结构体一个元素是起始点,另一个元素是长度。
可变字符串NSMutableString
NSMutableString是NSString的子类,因此上述的所有的方法NSMutableString的对象都可以使用。除此之外NSMutableString还有一些别的方法,而且在使用上,NSString不可改变,所以必须重新对变量赋值,而NSMutableString可以改变,直接调用方法即可,无需重新赋值。这里用代码示范一下:
代码运行的结果如下:
上述代码演示了五个NSMutableString的方法