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. 真正实现Netty私有协议开发

    首先<Netty权威指南>私有协议开发那一章的样例代码是编译不通过的(但是这丝毫不影响本书的价值)处理方案可以参考:http://www.itnose.net/detail/6112870 ...

  2. UITableView控制头部View

    首先我们先集成一个UIView做一个自己的View #import <UIKit/UIKit.h> @interface MyView : UIView @property (nonato ...

  3. Sass与Compress实战:第六章

    概要:介绍Compass如何让你从本地开发原型轻松转移到正产环境的网址或Web应用中. 本章内容: ● CSS精灵的历史和基本原则 ● Compass混合器让精灵自动化 ● 自定义精灵图片和CSS输出 ...

  4. 3、Web应用程序中的安全向量 -- cookie盗窃

    作为用户,为了防止cookie盗窃,可以在浏览器设置中选择"禁用cookie",但是这样做很可能导致在访问某个站点的时候弹出警告"该站点必须使用cookie". ...

  5. infix to postfix 完整版

    #include<iostream> #include<stack> #include<string> #include<deque> using na ...

  6. 信息处理,分而治之-- ESFramework 使用技巧

     ESFramework开发手册系列文章已经详细介绍了如何使用ESPlus提供的ESPlus.Application.CustomizeInfo空间来发送和处理自定义信息,而且,在我们在前面介绍的de ...

  7. javascript 中的console.log的作用

    主要是方便你调式javascript用的.你可以看到你在页面中输出的内容. 相比alert他的优点是: 他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是co ...

  8. 感知哈希算法 python 3.4

    #!/usr/bin/python # -*- coding: UTF-8 -*- #Less than 10 add to list and sort import glob import os i ...

  9. 用mybatis生成插件自动生成配置文件

    1.在当前的maven项目的pom.xml中添加插件 <build> <plugins> <plugin> <groupId>org.mybatis.g ...

  10. 【Machine Learning in Action --4】朴素贝叶斯分类

    1.概述 朴素贝叶斯分类是贝叶斯分类器的一种,贝叶斯分类算法是统计学的一种分类方法,利用概率统计知识进行分类,其分类原理就是利用贝叶斯公式根据某对象的先验 概率计算出其后验概率(即该对象属于某一类的概 ...