一、不可变字符串 NSString
1、初始化字符串
1)有格式的字符串初始化方式
NSString *string = [[NSString alloc] initWithFormat:@"%@%d", @“初始化",2015];
便利构造器
NSString *string1 = [NSString stringWithFormat:@“%@%d”, @“初始化", 2015];
2)字符串初始化(当给字符串赋值时,如果是常量区字符串,不建议用初始化,可直接赋值)
NSString *string2 = @"初始化";
NSString *string3 = [[NSString alloc] initWithString: string];
便利构造器
NSString *string4 = [NSString stringWithString:string];
3)空字符串初始化
NSString *string5 = [[NSString alloc] init];
便利构造器
NSString *string6 = [NSString string];
2、获取字符串长度 length
NSLog(@“%ld”,[string length]);
3、判断字符串是否包含前后缀
1)判断前缀 hasPrefix
if ([string hasPrefix:@“初" ]) {
NSLong(@“ 存在”);
}
2)判断后缀 hasSuffix
if ([string hasSuffix:@“初始化"]) {
NSLog(@“ 存在”);
}
4、判断字符串中是否包含另一个字符串 rangOfString
NSRange range = [string rangeOfString:@“始”];//NSRange 是结构体类
NSLog(@“length = %ld”, range.length, range.location )//length:包含的字符串长度,location:包含的字符串所在的位置
5、字符串截取
1)截取前面部分 substringToIndex
NSLog(@“%@“,[string substringToIndex:3]);
2)截取后面部分 substringFromIndex
NSLog(@“%@“,[string substringFromIndex:2]);
3)截取中间部分 substringWithRange
NSRange range1 = {1, 3};
NSLog(@"%@“, [string substringWithRange: range1]);
4)字符串分割为数组
NSArray *as = [string1 componentsSeparatedByString:@“始"];
NSLog(@"%@", as);
6、字符串拼接
1)字符串拼接 stringByAppendingString
NSLog(@“%@“, [string stringByAppendingString:String1]);
2)格式串拼接 stringByAppendingFormat
NSLog(@“%@“, [string stringByAppendingFormat:@“%d”, 2015]);
7、字符串替换
1)普通替换
NSLog(@“%@“, [string stringByReplacingOccurrencesOfString:@“初” withString:@“ 首次”]);
2)给定范围替换
NSRange ranger2 = {4, 4};
NSLog(@“%@“, [string stringByReplacingCharactersInRange:range2 withString:@“成功”]);
8、字符串比较 (返回值只有三个,分别为-1(小于),0(等于),1(大于))
1)不区分大小写比较
NSLog(@“%ld“, [string localizedCaseInsensitiveCompare:string2]);
2)普通比较
NSLog(@“%ld“, [string caseInsensitiveCompare:string2]);
NSLog(@“%ld“, [string compare:string2]);
9、字符串与数值的转换
NSString *string7 = @"12";
字符串转换为整型
NSLog(@"%d", [string7 intValue]);
10、大小写转换操作
NSString *string8 = @"abc";
全小写
NSLog(@"%@", [string8 lowercaseString]);
转换为相反的字母(即大写变小写,小写变大写)
NSLog(@"%@",[string8 uppercaseString]);
首字母大写
NSLog(@"%@", [string8 capitalizedString]);
11、判断字符串是否相等
- (BOOL)isEqualToString:(NSString *)aString
[string isEqualToString: string1]
二、可变字符串 NSMutableString
他是 NSString 的子类,该类创建的字符串是一个动态的可变字符串, 可以支持增、删、改、查等动态操作
NSMutableString *mutableString = [[NSMutableString alloc] initWithFormat:@"%@", @“初始化"];
1、拼接字符串
[mutableString appendString:@"564"];
NSLog(@"%@", mutableString);
2、插入字符串
[mutableString insertString:@"ACS" atIndex:5];
NSLog(@"%@", mutableString);
3、删除字符串
NSRange range3 = {2 ,3};
[mutableString deleteCharactersInRange:range1];
NSLog(@"%@", mutableString);
4、替换字符串
1)全部替换
[mutableString setString:@"dasda555"];
NSLog(@"%@", mutableString);
2)在指定的范围内替换
[mutableString replaceCharactersInRange:range1 withString:@"as54"];
NSLog(@"%@", mutableString);