1.创建一个普通字符串
NSString *str=@"abc"不可变字符串;NSMtablestring *str1=[NSMtablestring string]可变字符串
不可变字符串:生成的对象都是不可变的字符串对象。比如string=@“iphone”,如果想获得“ip”只能生成新的字符串“ip”,NSMutable是可变字符串类型,生成的对象是可变字符串类型,对可变字符串进行操作可以直接改变自身
2.获得字符串的一些方法
(1)NSString *phone=[string substringFromIndex:1];从字符串中第一个元素开始一直截取到最后,获得的结果是:“hone”;
(2)NSString *ipStr=[string substringToIndex:2];从字符串第0个元素开始,截取两个字符,结果是:“ip”;
(3)NSRange range=NSMakeRange(3,2);
NSString *onStr=[string substringWithRange:range];从第三个元素开始截取两个字符
字符串拼接
NSString *sixstr=@"6";
NSString *iphone6=[string stringByAppendingString:sixstr];打印结果就是“iPhone6”;
字符串替换
NSString *sevenstr=@"7";
NSString *iphone7=[iphone6 stringByReplacingOccurrencesOfString:@"6" withString:@"7"];
字符串比较
NSComparisonResult h=[a caseInsensitiveCompare:b];
3.数组是存储在ui中可显示内容的集合
NSArray *array=[NSArray arrayWithObjects:@"a",@"b",@"c",@"[:hello]", nil];
NSString *str1=[array objectAtIndex:1];
[array firstObject];
[array lastObject];
4.把数组中的东西一个一个的弄到end里
NSArray *end=[NSArray arrayWithArray:array];
NSLog(@"%@",end);
5.可变数组,必须初始化才能使用
NSMutableArray *array1=[NSMutableArray arrayWithObjects:@"1",@"2",@"3", nil];
[array1 addObject:@"7" ];//往数组里添加一个元素
NSLog(@"%@",array1);
NSMutableArray *array2=[NSMutableArray arrayWithObjects:@"4",@"5",@"6", nil];
[array2 addObjectsFromArray:array1];//把一个数组中的东西拷贝到另一个数组中
NSLog(@"%@",array2);
NSMutableArray *array7=[NSMutableArray arrayWithObjects: nil];
NSMutableArray *array8=[NSMutableArray arrayWithObjects:@"你好",@"uu",@"吃饭", nil];
[array7 addObject:array8];//大数组里面包含小数组就相当于里面小数组是个元素
NSLog(@"%@",array7);
NSString *str = @"abc[:hello]ok[:cool]bye[:bye]";
NSMutableString *str1 = [NSMutableString string];
NSMutableString *str2 = [NSMutableString string];
BOOL mid = NO; //判断是否有中括号
BOOL judge = NO; //判断是否包括“[:”
for (int i = 0; i < str.length ; i++) {
//遍历输出所有字符
NSString *current = [str substringWithRange:NSMakeRange(i, 1)];
//判断字符是否与“[”相等
if ([current isEqualToString:@"["]) {
//有中括号,继续;
mid = YES;
//将“[”装入目标字符串中
[str2 appendString:current];
//如果字符串与“:”相等
} else if ([current isEqualToString:@":"]) {
//判断前一个是否是中括号
if (mid) {
//判断是否包含“[:”
judge = YES;
//判断后面一个字符串是否是中括号
mid = NO;
//将“:”装入目标字符串中
[str2 appendString:current];
}
//判断是否包含右中括号
} else if ([current isEqualToString:@"]"]) {
//判断前一个是否包含“[:”
if (judge) {
//没有包含"[:"
judge = NO;
//将“】”放入目标字符串中
[str2 appendString:current];
}
} else {
//判断表情字符
if (judge) {
[str2 appendString:current];
continue;
}
mid = NO;
[str1 appendString:current];
}
}
NSLog(@"非标签字符str1 = %@", str1);
NSLog(@"标签字符str2 = %@", str2);