码迷,mamicode.com
首页 > 其他好文 > 详细

字符串的操作:取字符, 替换字符,字符拼接,转换,插入字符等

时间:2015-07-25 20:01:15      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:字符的操作   取字符   字符拼接   插入字符   替换字符   

取字符

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

字符串的操作:取字符, 替换字符,字符拼接,转换,插入字符等

标签:字符的操作   取字符   字符拼接   插入字符   替换字符   

原文地址:http://blog.csdn.net/mltianya/article/details/47057413

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!