NSString 不可变字符串,OC中的字符串@开头,区分C中的字符串;
NSMutableString 可变字符串,类似Java中的StringBuffer,StringBuilder。
1.创建一个字符串的三种方式:
NSString *string1 = @"abc";
NSString *string2 = [[NSString alloc] initWithString:@"abc"];
NSString *string3 = [NSString stringWithString:@"abc"];
2.创建一个格式化的字符串:
// 用来把基本数据类型转换成字符串类型
NSString *string6 = [[NSString alloc] initWithFormat:@"整数:%d", 10];
3.字符串 比较:
NSString *string1 = [NSString stringWithFormat:@"123"];
NSString *string2 = [NSString stringWithFormat:@"123"];
// 比较字符串的内容
if ([string1 isEqualToString:string2])
{
NSLog(@"same content");
}
else
{
NSLog(@"different content");
}
// 比较内存地址
if (string1 == string2)
{
NSLog(@"same pointer");
}
else
{
NSLog(@"different pointer");
}
4.字符串 大小写转换
NSString *string = @"HellO woRld";
NSLog(@"大写 : %@", [string uppercaseString]);
NSLog(@"小写 : %@", [string lowercaseString]);
NSLog(@"首字大写 : %@", [string capitalizedString]);
5.字符串 切割(split)
NSString *string = @"abc bcd xyz";
NSArray *array = [string componentsSeparatedByString:@" "];
NSLog(@"array : %@", array);
6.字符串 截取
NSString *string = @"abcdefg";
NSString *subString1 = [string substringToIndex:2];
NSString *subString2 = [string substringFromIndex:2];
NSLog(@"subString1 : %@", subString1); // ab
NSLog(@"subString2 : %@", subString2); // cdef
NSRange range = {4, 2}; //从第四个开始截取2个字符,index 0开始
NSString *subString3 = [string substringWithRange:range];
NSLog(@"subString3 : %@", subString3);// ef
7.字符串 拼接的三种方式
NSString *string1 = @"abc";
NSString *string2 = @"xyz";
NSString *appString1 = [[NSString alloc] initWithFormat:@"%@%@", string1, string2];
NSString *appString2 = [string1 stringByAppendingFormat:@"%@", string2];
NSString *appString3 = [string1 stringByAppendingString:string2];
NSLog(@"appString 1 : %@", appString1);
NSLog(@"appString 2 : %@", appString2);
NSLog(@"appString 3 : %@", appString3);
8.字符串 查找
NSString *link = @"abcdeftarget=_blankxyz";
NSRange range1 = [link rangeOfString:@"target=_blank"];
if (range1.location != NSNotFound) {
NSLog(@"founded");
}
9.NSMutableString 可变字符串的 插入,替换,删除
NSMutableString *mutableString1 = [[NSMutableString alloc] initWithFormat:@"abc"];
// 插入一个字符串
[mutableString1 insertString:@"...xyz" atIndex:3];
NSLog(@"mutalbeString1 : %@", mutableString1);
// 替换
[mutableString1 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"efg"];
NSLog(@"mutalbeString1 : %@", mutableString1);
// 删除
[mutableString1 deleteCharactersInRange:NSMakeRange(0, 3)];
NSLog(@"mutalbeString1 : %@", mutableString1);