NSMutableString类继承自NSString,所以在NSString中的方法在NSMutableString都可以使用. NSMutableString和NSString的区别在于NSMutableString是动态的字符串,可以动态的添加,修改,删除等。在前面提到了就和.NET中的string和StringBuilder的区别一样。

  1. 添加字符串

  向字符串末尾添加字符串可以使用appendString方法和appendFormat方法。appendString方法主要用于向字符串末尾添加一个字符串;appendFormat 方法用于向字符串末尾添加多种类型的字符串,相当于.NET中的appendFormat 方法使用占位符。

NSMutableString *str=[[NSMutableString alloc] init];
[str appendString:@"NSMutableString 字符串"];
NSLog(@"appendString=%@",str); [str appendFormat:@" --我的名字:%@ , 年龄 %d",@"Object C",];
NSLog(@"appendFormat: %@",str);

测试例子

  测试效果如下:

-- ::21.476 ObjectC10[:] appendString=NSMutableString 字符串
-- ::21.478 ObjectC10[:] appendFormat: NSMutableString 字符串 --我的名字:Object C , 年龄

测试结果

  2. 删除字符串

  在NSMutableString中使用stringWithString方法来初始化字符串;

  使用rangeOfString获取某个字符串在原字符串的位置以及长度;

  使用deleteCharactersInRange方法删除特定位置的字符串

NSMutableString *str=[NSMutableString stringWithString:@"Object C 之NSMutableString类"];
NSLog(@"stringWithString= %@ ",str); NSRange range= [str rangeOfString:@"Mutable"];
NSLog(@"Location=%d",range.location);
NSLog(@"length=%d",range.length); [str deleteCharactersInRange:range];
NSLog(@"deleteCharactersInRange=%@",str);

测试例子

  测试效果如下:

-- ::34.078 ObjectC10[:] stringWithString= Object C 之NSMutableString类
-- ::34.080 ObjectC10[:] Location=
-- ::34.080 ObjectC10[:] length=
-- ::34.080 ObjectC10[:] deleteCharactersInRange=Object C 之NSString类

测试结果

  3. 插入字符串

  在NSMutableString中在某个字符串特定位置添加一个字符串使用insertString方法;

NSMutableString *str=[NSMutableString stringWithString:@"Obejct C"];
NSLog(@"%@",str);
NSString *str2=@"学习";
[str insertString:str2 atIndex:];
NSLog(@"insertString= %@",str);

测试例子

  测试效果如下:

-- ::14.517 ObjectC10[:] Obejct C
-- ::14.519 ObjectC10[:] insertString= Obejct学习 C

测试结果

  4.字符串拷贝

  因为NSMutableString是引用类型,也就是指针类型,当一个变量赋值给另外一个变量的时候,两者其实是指向的同一个地址。

//创建字符串
NSMutableString *str1 = [NSMutableString stringWithString: @"字符串1"];
NSMutableString *str2; //字符串赋值
str2 = str1; [str2 appendString: @" 和字符串2"]; NSLog (@"str1 = %@", str1); NSLog (@"str2 = %@", str2);

测试例子

  测试效果如下:

-- ::33.667 ObjectC10[:] str1 = 字符串1 和字符串2
-- ::33.683 ObjectC10[:] str2 = 字符串1 和字符串2

测试结果

  5. 字符串类型转换

  intValue用于将字符串类型转换为int 类型

  integerValue用于将字符串类型转换为NSInteger 类型

  floatValue用于将字符串类型转换为float类型

  doubleValue用于将字符串类型转换为double类型

NSString *str1=@"";
int value1=[str1 intValue];
NSLog(@"转化为int类型: str1=%d",value1); NSString *str2=@"";
NSInteger value2=[str2 integerValue];
NSLog(@"转化为NSInteger类型: str2=%i",value2); NSString *str3=@"3.1415";
float value3=[str3 floatValue];
NSLog(@"转换为float类型: str3=%0.4f",value3); double value4=[str3 floatValue];
NSLog(@"转换为double类型: str3=%0.4f",value4);

测试例子

  测试效果如下:

-- ::00.070 ObjectC10[:] 转化为int类型: str1=
-- ::00.094 ObjectC10[:] 转化为NSInteger类型: str2=
-- ::00.094 ObjectC10[:] 转换为float类型: str3=3.1415
-- ::00.095 ObjectC10[:] 转换为double类型: str3=3.1415

测试结果

  如果字符串格式有问题,则转换的时候会报异常。

Object C学习笔记9-字符串NSMutableString的更多相关文章

  1. Object C学习笔记22-#define 用法

    上一篇讲到了typedef 关键字的使用,可以参考文章 Object C 学习笔记--typedef用法 .而在c中还有另外一个很重要的关键字#define. 一. #define 简介 在C中利用预 ...

  2. Object C学习笔记24-关键字总结

    学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1.  #import #import <> 从syste ...

  3. Object C学习笔记21-typedef用法

    在上一章的学习过程中遇到了一个关键字typedef,这个关键字是C语言中的关键字,因为Object C是C的扩展同样也是支持typedef的. 一. 基本作用 typedef是C中的关键字,它的主要作 ...

  4. Object C学习笔记18-SEL,@ selector,Class,@class

    本章是对上一章<<Object C学习笔记17-动态判断和选择器>>的一点补充,所以比较简单点. 一. SEL 类型 在上一篇介绍了几个方法,都只是介绍了其使用方式但是没有具体 ...

  5. Object C学习笔记17-动态判断和选择器

    当时学习Object C的时被人鄙视了一顿,说使用.NET的思想来学Object C就是狗屎:不过也挺感谢这位仁兄的,这让我学习的时候更加的谨慎.今天的学习笔记主要记录Object C中的动态类型相关 ...

  6. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)

    技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...

  7. Object C学习笔记10-静态方法和静态属性

    在.NET中我们静态使用的关键字static有着举足轻重的作用,static 方法可以不用实例化类实例就可以直接调用,static 属性也是如此.在Object C中也存在static关键字,今天的学 ...

  8. Object C学习笔记24-关键字总结(转)

    学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1.  #import #import <> 从syste ...

  9. 【学习笔记】字符串—马拉车(Manacher)

    [学习笔记]字符串-马拉车(Manacher) 一:[前言] 马拉车用于求解连续回文子串问题,效率极高. 其核心思想与 \(kmp\) 类似:继承. --引自 \(yyx\) 学姐 二:[算法原理] ...

  10. 「学习笔记」字符串基础:Hash,KMP与Trie

    「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...

随机推荐

  1. Python初学者第二十二天 函数进阶(1)

    22day 1.函数命名空间: 2.函数作用域的查找顺序:LEGB locals->enclosing function ->globals ->_builtins_ a.local ...

  2. Proxyee-down的下载与安装教程

    源代码在:GitHub_proxyee-down 为了节约读者的时间,我把需要的资源文件打包好,百度云链接在下面 Proxyee-down最新版为2.54(2018.8.9更新) 最新版下载地址:链接 ...

  3. October 1st 2017 Week 40th Sunday

    It's only after we've lost everything that we're free to do anything. 只有我们失去了所有之后我们才能随心而为. After los ...

  4. RTCM32编解码中的一些概念及相关文献阅读

    1. IODC和 IODE ——  导航电文相关.iode/iodc是在GPS系统的ICD2中定义的参数,iode指星历数据事件,iodc指星钟数据事件. IOD 是 issue of data ,数 ...

  5. 用asp连接Access数据库 制作简单登陆界面

    [题外话:最近做Internet作业,在这写一个适合初学入门的ASP连接ACCESS数据库做登陆界面的简单的例子,以慰藉我一口气把以前做过的系统中的PHP代码全改成ASP代码来临时应付作业的心情... ...

  6. SGU---102 欧拉函数

    题目链接: https://cn.vjudge.net/problem/SGU-102#author=0 题目大意: 求解小于等于N的且与N互质的数字有多少个 解题思路: 直接求欧拉函数即可 关于欧拉 ...

  7. Python time.md

    time模块 Comparing Clocks time.clock():在Unix 上,返回当前的处理器时间,以浮点数秒数表示. time.monotonic():返回一个单调时钟的值(在分秒内), ...

  8. Javascript (ECMAScript5) 的细节和违反直觉的地方

    记录在学习Javascript (ECMAScript5) 中的一些与其他语言的不同之处,本文会不断更新. 里面的知识可能并不太适合有一定经验的Javascript程序员,仅仅但不限于给初学者阅读. ...

  9. python-一个小爬虫,爬取图片

    import re import urllib.request # 爬取网页 def getHtml(url): page=urllib.request.urlopen(url) html=page. ...

  10. 使用 kubeadm 安装部署 kubernetes 1.9-部署heapster插件

    1.先到外网下载好镜像倒进各个节点 2.下载yaml文件和创建应用 mkdir -p ~/k8s/heapster cd ~/k8s/heapster wget https://raw.githubu ...