OC基本数据结构-NSString

来源:互联网 发布:java tomcat 端口 编辑:程序博客网 时间:2024/06/11 00:41

OC兼容C语言的字符串

字符串是一个类,名字叫做NSString,用%@将其打印输出。

字符串的创建:
创建方法:(不可变字符串)
NSString *str = @"hello 2015";
NSString *str2 = [[NSString alloc] initWithString:str];
NSString *str3 = [[NSString alloc] initWithUTF8String:@"hello 2015"];
//用c的字符串创建OC的字符串对象。
NSString *str4 = [[NSString alloc] initWithFormat:@"hello %d %c", 5, 'A'];
//使用格式符,拼接成一个字符串。
NSString *str5 = [NSString stringWithUTF8String:"hello 2015!"];
NSString *str6 = [NSString stringWithFormat:@"%d %@ %c", 1, @"hello", 'R'];
//使用格式符,创建一个临时字符串。
NSString *str7 = [NSString stringWithString:str];
//使用一个字符串创建另一个字符串。

//以上创建的字符串都是不可变的。

//字符串对象的方法:

判断两个字符串是否相等:
BOOL re = [str isEqualToString:str2];

比较两个字符串的大小。
NSComparisonResult re = [str compare:str2];
//NSComparisonResult是一个枚举-1, 0, 1

从一个字符串中查找它的子串
NSString *str = @"hello 2015, i love today";
NSString *substr = @"love";
NSRange ran = [str rangeOfString:substr];
在str当中查找substring的位置,返回一个NSRange结构体。(从0开始计数)

对子串进行提取
NSString *str8 = [str substringToIndex:3];
//从str中提取从头至第3个字符串(不包括第3个,开区间),生成新的字符串。返回字符串地址。
NSString *str9 = [str substringFromIndex:3];
//从str中提取第3个字符串(包括第3个,闭区间)到最后一个字符,生成新的字符串。返回字符串地址。
NSRange range = {3, 4};
NSString *str10 = [str substringWithRange:range];

NSString *str11 = [str substringWithRange:NSMakeRange(3, 4)];

创建方法(不可变字符串)——增删改查
NSMUtableString *str = @"hello 2015"; //这种方法是错误的。因为这是创建一个不可变字符串
其余创建方法都可以。
NSMUtableString *str = [[NSMutableString alloc] init];
[str setString:@"2015, say hi!"];

增:(追加append, 插入insert)
[str appendString:@"123"];//追加字符串
[str appendFormat:@"%c", 'K'];//追加格式符
[str insertString@"XXX" atIndex:4];//插入字符串XXX,在第四个位置

删:(delete)
[str deleteCharactersInRange:NSMakeRange(3, 5)];//删除range范围内的字符

改:(replace:替换)
[str replaceCharactersInRange:NSMakeRange(1, 2) withString:@"today gggggggggggg"];

查:()

 

0 0
原创粉丝点击