字符串分为可变字符串和不可变字符串
不可变字符串
1. 不可变字符串的初始化
NSString *string1 = [[NSString alloc] init];
NSString *string = [NSString stringA];
NSString *string =[ [NSString alloc] initWithString:string1];
NSString *string = @“string2”;
2.字符串的处理
1)给字符串赋值
例如:NSString *string = [NSString stringA];
string = @"huahua";
2)拼接字符串。不可变字符串的拼接是在原来的字符串之上 再拼接一个字符串 生成一个新的字符串
(1)方法:stringWithFormat
例如:int age = 20; NSString *name = @“李明”;
NSString *info = [NSString stringWithFormat:@“%@刚刚满%d岁”,name,age];
(2) 方法:stringByAppendingString
NSString *ss = @"我是";
NSString *ss4 = [ss stringByAppendingFormat:@"%@ 牛人",ss2];
拼接后的结果为“我是牛人”
3)截取字符串
(1)从哪个位置开始截取字符串。使用的方法是:substringFromIndex
例如:NSString *message = @“中华人民共和国!”;
从 中华 后面开始截取上面的字符串
NSString *newString = [message substringFromIndex:2];
(2)截取字符串到哪个位置。使用的方法是:substringToIndex
例如:截取1)里的字符串到 民共
NSString *newString0 = [message substringToIndex:5];
(3)截取字符串 从一个位置到另一个位置。使用的方法是:substringWithRange
在这里要使用结构体 我们要设置结构体的位置
NSRang rang;
rang.location = 5/*(你想截取的初始位置)*/;
rang.length = 3/*(你截取的长度)*/;
如:我要截取message里的人民共和
代码:NSString *newString1 = [message substringWithRang:rang];
(4) 把字符串通过指定字符分割成数组
使用方法 :componentsSeparatedByString
如 :将message里的以“民”分割成两个数组
代码:NSString *fenge = [message componentsSeparatedByString:@“民”];
(5)把字符串里所有的英文字母转成大写 方法:uppercaseString
例如:NSString *str = @“bRbsdi”;
NSLog(@“%@”,str.uppercaseString);
(6) 把所有英文转换成小写 方法: lowercaseString
用法同上
(7)把首字母转成大写 方法 :capitalizedString
用法同(5)
(8) 判断字符串 是否包含某个字符串。方法:rangeOfString:
例如:判断下面字符串是否含有”老虎“,有就输出该字符串,否则输出”骗人~~~~~“
NSString *sss = @"上山打老虎跑了";
NSRange range119 = [sss rangeOfString:@"老虎"];
if (range119.location != NSNotFound) {
NSLog(@"%@",sss);
}else{
NSLog(@"骗人~~~~~“);
}
(9)字符串以什么开始(就是说字符串的头部包含什么内容)方法:hasPrefix:
例如:判断sss字符串是否是以上山开头,有就输出该字符串,否则输出”没有“
if ([sss hasPrefix:@"上山"] != NO) {
NSLog(@"%@",sss);
}else{
NSLog(@"没有");
}
(10)字符串以什么结束 方法:hasSuffix:
if ([sss hasSuffix:@"跑了"] != NO) {
NSLog(@"成功");
}else{
NSLog(@"没有");
}
可变字符串
1.初始化
NSMutableString *sss5 = [[NSMutableString alloc]init];
2.使用可变字符串时 有扩展出来的两个方法
在原来的字符串的基础上有添加了一个字符串 与原来的字符串 合成一个字符串(还是原来字符串的对象)
1)把指定位置的字符串替换成另一个字符串
NSMutableString *sss5 = [[NSMutableString alloc]initWithString:@"bruce"];
NSRange range110;
range110.location = 1;
range110.length = 4;
[sss5 replaceCharactersInRange:range110 withString:@"lue"];
NSLog(@"%@",sss5);
2)指定字符串的删除
NSMutableString *sss6 = [NSMutableString stringWithString:@"我是一名程序员"];
sss7.location = 0;
sss7.length = 4;
[sss6 deleteCharactersInRange:sss7];
NSLog(@"%@",sss6);