objective-c字符串笔记

字符串

// 字符串 分可变字符串和不可变字符串

// 不可变字符串的初始化方式

// NSString *string = [[NSString alloc] init];

// NSString *string = [NSString string];

// 字符串不是容器类 不能添加数据

// NSString *string = [[NSString alloc] initWithString:string];

// NSString *string = @"132586";

// 字符串处理

// 1.字符串的格式化处理

int age = 20;

NSString *name = @"呈正";

NSString *info = [NSString stringWithFormat:@"%@今年%d岁", name, age];//格式化字符串

这个语句的意思是将 info初始化成“呈正今年20岁”

1.从哪个位置开始截取字符串

NSString *newString = [info substringFromIndex:2];//这数字不是下标

这个语句是意思是将“呈正今年20岁”中从第二个字符后面开始截取字符到 newString 中 这样过后 newString中的值是“今年20岁”

2.截取字符串到哪个位置

NSLog(@"%@",[message substringToIndex:5]);

3.截取字符串从哪个位置到哪个位置

NSRange range;

range.location = 6;

range.length = 6;

NSLog(@"%@",[message substringWithRange:range]);

注意:这个方法中的rang是一个NSRange类型的结构体,所有要实例化一个结构体并赋值

把字符串通过指定字符分割成数组

NSArray *array = [message componentsSeparatedByString:@“,"];

意思是把message中的值以“,”作为分隔符,将message中的值分成几部分,然后保存到数组 array中

英文转换成大写

NSString *myName = @"liyongjun250";

NSLog(@“%@",myName.uppercaseString);

意思是将myName 中的字符 以大写的方式输出

把所有英文字母转换成小写

NSLog(@“%@",myName.uppercaseString.lowercaseString);

意思是将myName 中的字符 以小写的方式输出

首写字母大写

NSLog(@“%@",myName.capitalizedString);

意思是将myName 中的字符是的首写字母大写

拼接字符串

NSString *pinJie = [s stringByAppendingString:ss];

将ss的值添加到s的后面

NSString *pinJie1 = [s stringByAppendingFormat:@“%@不我是坏人",ss];

意思是将ss的值放在“不我是坏人”前面,并把这些字符拼接到s的后面

[result containsString:@"打老虎"] != NO

判断result中是否包含“打老虎”

[result hasSuffix:@"ya~"] != NO

判断result中是否以“ya~”结尾

可变字符串

[ssa replaceCharactersInRange:ang withString:@“好人"];

意思是将ang处用“好人”代替掉,这里ang是一个NSRange类型的结构体 第一个元素是location 定位到哪儿 length 是长度

[name1 appendString:@“sdfals"];

意思是将“sdfals”拼接到name1字符的后面