Objective-C语法之字符串那些事

        NSMutableString  继承NSString类,那么NSString 提供的方法在NSMutableString中基本都可以使用,NSMutableString好比一个字符串链表,它可以任意的动态在字符串中添加字符串 删除字符串 指定位置插入字符串,使用它来操作字符串会更加灵活。

1.字符串尾部添加

使用alloc在内存中创建字符串对象后边可以动态的操作这个字符串,修改与添加等。

appendstring 方法:向字符串尾部添加一个字符串。

appendFormat方法:向字符串尾部添加多个类型的字符串,可以添加任意数量与类型的字符串。

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. NSMutableString * str = [[NSMutableString alloc] init];
  5. //添加普通的字符串
  6. [str appendString:@"aaa"];
  7. //添加字符串 整型 字符型
  8. [str appendFormat:@"我的名字:%@ 我的年龄:%d 我的邮箱:%s",@"雨松MOMO", 25,"xuanyusong@gmail.com"];
  9. NSLog(@"str = %@",str);
  10. }

2.字符串中删除元素

stringWithString 方法:用于创建字符串初始化赋值

rangeOfString方法:传入字符串返回一个在该字符串中的范围 也可以写 NSMakeRange(0, 3) 意思是范围在字符串0位到第3

deleteCharactersInRange:删除字符串 参数为Range 就是删除的范围。

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. //创建字符串
  5. NSMutableString *str = [NSMutableString stringWithString:@"雨松MOMO喜欢哇咔咔~"];
  6. //删除字符串中含"雨松"的字符
  7. [str deleteCharactersInRange: [str rangeOfString: @"雨松"]];
  8. NSLog(@"str = %@",str);
  9. }

3.字符串插入

stringWithString 方法:用于创建字符串初始化赋值

insertString方法:第一个参数 插入的字符串对象, 第二个参数 插入的位置。

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. //创建字符串
  5. NSMutableString *str = [NSMutableString stringWithString:@"雨松MOMO喜欢哇咔咔~"];
  6. //在str第10位插入字符串
  7. [str insertString:@"与小可爱" atIndex:10];
  8. NSLog(@"str = %@",str);
  9. }

4.字符串拷贝

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. //创建字符串
  5. NSMutableString *str1 = [NSMutableString stringWithString: @"字符串1"];
  6. NSMutableString *str2;
  7. //字符串赋值
  8. str2 = str1;
  9. [str2 appendString: @" 和字符串2"];
  10. NSLog (@"str1 = %@", str1);
  11. NSLog (@"str2 = %@", str2);
  12. }

为什么给str2添加数据后 str1的数据也改变了?这就是指针的魅力所在,因为我们操作的是指针,str2 = str1  意思是两个指针同时指向一块内存,那么str2指向的内存内容改变以后str1当然跟着改变了。

5.字符串与指定类型转换

如果转换的参数非法的话不会抛出异常,好比用中文去转整型。不会报错 但是转换结果为 0  ,默认值。

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. //字符串转整型
  5. NSString *str0 = @"1121";
  6. //NSString *str0 = @"中国";
  7. //把字符串强转成整型
  8. int i = [str0 intValue];
  9. NSLog (@"转换后:%i", i);
  10. //字符串转interger
  11. NSString *str1 = @"1985";
  12. // NSString *str1 = @"中国";
  13. //把字符串强转成interger
  14. NSInteger ii = [str1 integerValue];
  15. NSLog (@"转换后:%i", ii);
  16. //字符串转double
  17. NSString *str2 = @"3.145926";
  18. //NSString *str2 = @"中国";
  19. //把字符串强转成double
  20. double d = [str2 doubleValue];
  21. NSLog (@"转换后:%f", d);
  22. //字符串转float
  23. NSString *str3 = @"3.145926";
  24. //NSString *str3 = @"中国";
  25. //把字符串强转成float
  26. double f = [str3 floatValue];
  27. NSLog (@"转换后:%f", f);
  28. }

正常的转换结果

传入非法参数 不正常的结果

Objective-C语法之NSMutableString字符串的那些事儿的更多相关文章

  1. vue语法之拼接字符串

    先来一行代码: <div class="swiper-slide" v-for="item in message"> <img v-bind: ...

  2. es6语法之模版字符串

    //es6语法之`${}`以及vue语法 `${ }` (模版字符串)const name = '小缘' const age = 14 console.info(`大家好,我叫${name},今年${ ...

  3. [转] NSString / NSMutableString 字符串处理,常用代码

     原文 :  http://justcoding.iteye.com/blog/1405951 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString , ...

  4. 【转】 NSString / NSMutableString 字符串处理,常用代码 (实例)

    Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...

  5. NSString / NSMutableString 字符串处理,常用代码 (实例)

    http://blog.csdn.net/likendsl/article/details/7417878 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableSt ...

  6. Python基础语法——(引号、字符串、长字符串、原始字符串、Unicode)

    一.单引号字符串和转义引号 当字符串中出现单引号'时,我们可以用双引号""将该字符串引起来:"Let's go!" 而当字符串中出现双引号时,我们可以用单引号' ...

  7. 初学Objective - C语法之代码块(block)

    一.block声明 1.无参数,无返回值: void (^sayHi)(); 2.有参数,有返回值: NSInteger (^operateOfValue)(NSInteger num); block ...

  8. JS基础语法---String(字符串的案例)

    练习1: var str = "我的宝宝最可爱,声音嗲嗲的"; var key = "可爱"; //先获取要截取的字符串的索引位置 var index = st ...

  9. 03-cmake语法-变量,字符串

    CMake的基本数据类型是字符串(不区分大小写),一组字符串在一起称为列表(list). 条件判断中的取值情况如下表: 真 1, ON, YES, TRUE, Y, 非0的数  假 0, OFF, N ...

随机推荐

  1. IDA Pro使用

    当我们的光标在某个函数处时,按回车键就可以跳到这个函数所在的位置:

  2. iOS二维码条形码的制作

    - (IBAction)creatQRImage:(id)sender { [self.textField resignFirstResponder]; //这里是我放了个TextField的控件,但 ...

  3. win10应用UserControl

    <Grid xmlns:src="using:UserControlExample" Margin="0,50,0,0"> <Grid.Row ...

  4. Tomcat 配置支持APR

    对ARP支持,需要安装以下库: APR library JNI wrappers for APR used by Tomcat (libtcnative) OpenSSL libraries 其中JN ...

  5. Eclipse Kepler maven工程配置JDK1.8

    首先需要下载插件:"Help" --> "Market Place" --> Search for java 8 kepler. install J ...

  6. javascript基础(五)函数

    原文http://pij.robinqu.me/ 通过call和apply间接调用函数(改变this) call 和 apply带有多个参数,call和apply把当前函数的this指向第一个参数给定 ...

  7. 在Wamp 添加站点和域名

    在httpd.conf中使Include conf/extra/httpd-vhosts.conf生效 在conf/extra/httpd-vhosts.conf中加入如下代码 <Virtual ...

  8. deb

    1.APT方式 (1)普通安装:apt-get install softname1 softname2 …; (2)修复安装:apt-get -f install softname1 softname ...

  9. CentOS正确关机方法

    1关机前准备 1.1观察系统使用状态 ·         谁在线:who ·         联网状态:netstat -a ·         后台执行的程序:ps -aux 1.2通知在线使用者关 ...

  10. Tiled2Unity

    官方:http://www.seanba.com/tiled2unity 文档:http://www.seanba.com/introtiled2unity.html 1.导入Tiled2Unity. ...