取字符
1.characterAtIndex:通过指定下标取字符
例子
NSString *str =@"y玩anglin";
NSLog(@"%C", [str characterAtIndex:1]);
结果: 2015-07-20 17:37:56.737 OC练习[1620:98525] 玩
*在这里可以注意一下:%C可以输出汉字,而%c只能输出字母
2.substringFromIndex :从哪开始截取,到最后,包括下标位置
例子
NSString *str =@"nihao,wodemingzijiao1";
NSLog(@"%@",[str substringFromIndex:5]);
结果: 2015-07-20 17:56:28.408 OC练习 [1662:102656] ,wodemingzijiao1
3.substringToIndex :从开始截取到指定位置,不包括下标位置
例子
NSString *str =@"nihao,wodemingzijiao1";
NSLog(@"%@",[str substringToIndex:7]);
结果 :2015-07-20 18:00:25.539 OC练习[1695:103793] nihao,w
4.substringWithRange:输出范围字符串
有两种写法
(1)第一种方法:用NSRange定义一个结构体 ,提供两个变量,第一个是个起始位置,第二个变量是长度
例子
NSString *str =@"nihao,wodemingzijiao1";
NSRange range ={3 , 7};
NSLog(@"%@",[str substringWithRange:range]);
结果:2015-07-20 19:01:31.374 OC练习[1717:107047] ao,wode
(2)第二种方法 :用NSMakeRange直接定义起始位置和长度
例子
NSString *str =@"nihao,wodemingzijiao1";
NSLog(@"%@",[str substringWithRange:NSMakeRange(3, 7)]);
结果:2015-07-20 19:01:31.374 OC练习[1717:107047] ao,wode
替换字符
1.替换:stringByReplacingOccurrencesOfString
第一个参数 :字符串原来的部分
第二个参数 :要替换的内容
例子
NSString *str =@"山山没事喜欢玩游戏";
NSString *strNew =[str stringByReplacingOccurrencesOfString:@"山山" withString:@"星宇"];
NSLog(@"%@" , strNew);
结果: 2015-07-25 16:56:15.958 OC05_NSString[411:13548] 星宇没事喜欢玩游戏
2.范围的替换:replaceCharactersInRange
replaceCharactersInRange有三个参数
第一个参数: 字符串
第二个参数: 通过下标和长度得到的要替换的原字符
第三个参数: 要替换的内容
同范围性取字符一样,范围性替换也有两种写法
(1)第一种方法:用NSRange定义一个结构体 ,提供两个变量,第一个是个起始位置,第二个变量是长度
例子
NSMutableString *str=[NSMutableString stringWithString:@"nihao,wo deming zi jiao yanglin"];
NSRange range ={3,7};
[str replaceCharactersInRange:range withString:@"hao"];
NSLog(@"%@",str);
(2)第二种方法 :用NSMakeRange直接定义起始位置和长度
例子
NSMutableString *str=[NSMutableString stringWithString:@"nihao,wo deming zi jiao yanglin"];
[str replaceCharactersInRange:NSMakeRange(3, 7) withString:@"hao"];
NSLog(@"%@",str);
结果: 2015-07-25 17:01:53.169 OC05_NSString[429:15278] nihhaoeming zi jiao yanglin
3.全替换
例子
NSMutableString *str=[NSMutableString stringWithString:@"nihao,wo deming zi jiao yanglin"];
[str setString:@"11"];
NSLog(@"%@",str);
结果:2015-07-25 17:15:09.906 OC05_NSString[441:19364] 11
拼接字符
1.直接拼接: appendString
两个参数: 都是字符或者字符串,第二个字符串拼接在第一个字符串后面
NSMutableStrng *str=[NSMutableString stringWithString:@"nihao"];
[str appendString:@"11"];
NSLog(@"%@",str);
结果为:2015-07-25 17:34:02.711 OC05_NSString[467:25508] nihao11
2.不可变字符串的拼接:stringByAppendingString
例子
要定义一个新的字符串来接收结果
NSString *str = @"liushanshan";
NSString *str1 = @"yangli";
NSString *newStr =[str stringByAppendingString:str1];
NSLog(@"%@",newStr);
结果:2015-07-25 17:42:12.725 OC05_NSString[492:28135] liushanshanyangli
3.stringWithFormat 方法 可以把任意类型转化成字符串,然后进行拼接
例子
CGFloat g =3.14;
NSInteger a =100;
NSString *str = [NSString stringWithFormat:@"%@,%ld , %g, %@",@"不好", a, g, @"liushanhsaRn"];
NSLog(@"%@",str);
结果:2015-07-25 17:44:55.197 OC05_NSString[500:29215] 不好,100 , 3.14, liushanhsaRn
把字符串转换为一般数据类型
integerValue :把字符串变成基本数据类型,但是遇到字母停止
例子
NSString *strNum=@"123p5";
NSInteger num =[strNum integerValue];
NSLog(@"%ld",num);
结果:2015-07-20 19:23:19.272 OC练习[1823:115089] 123
插入字符
格式
insertString:插入内容 atIndex :插入位置下标
例子
NSMutableString *str=[NSMutableString stringWithString:@"nihao"];
[str insertString:@"111" atIndex:3];
NSLog(@"%@", str);
结果: 2015-07-20 19:57:42.854 OC练习[1911:123322] nih111ao