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. Linux ip命令详解

    ip命令式用来配置网卡ip信息的命令,且是未来的趋势,重启网卡后IP失效 ip常见命令参数 Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ - ...

  2. PHP字符串——简单应用

    错误的学习编码语言观点:语言语法不用记,多练习就可以了.   应该是死记住,然后加强练习以免忘记.以及在练习中加强理解.试着想“为什么是这样的语法习惯”.PHP提供了8种数据类型.4种是标量型(单值) ...

  3. Centos7使用yum安装Mysql5.7.19的详细步骤(可用)

    Centos7的yum源中默认是没有mysql,因为现在已经用mariaDB代替mysql了. 首先我们下载mysql的repo源,我们可以去mysql官网找最新的repo源地址 地址: https: ...

  4. PHP MemCached高级缓存配置图文教程

    memcache是一个高性能的分布式的内存对象缓存系统,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.     1.Memcache相关介绍 memcache是一个高性能的 ...

  5. Hive学习之路 (九)Hive的内置函数

    数学函数 Return Type Name (Signature) Description DOUBLE round(DOUBLE a) Returns the rounded BIGINT valu ...

  6. Day6 jQuery

    元素的操作 dom对象和jQuery对象 dom对象:原生js获取节点 jQuery对象:通过jQuery获取节点对象 //dom对象 var oP = document.getElementById ...

  7. Jenkins启动和停止服务

    1.怎么启动Jenkins? step1:进入到Jenkins的war包所在的目录. 如果是win7及以上版本,直接打开Jenkins的war包所在的目录,在地址栏敲cmd,回车. 上述结果和进入cm ...

  8. [转] Eclipse安装SVN插件

    eclipse里安装SVN插件,一般来说,有三种方式: 1. 直接下载SVN插件,将其解压到eclipse的对应目录里 2. 使用eclipse 里Help菜单的“Install New Softwa ...

  9. Oracle 表单的创建

    1.-- 连接 conn hu/aaa; -- 创建表空间 Create tablespace computer2005 nologging datafile 'd:/Oracle/product/1 ...

  10. [NOIp2009] $Hankson$の趣味题

    \(23333\)这是最近第二份在时间上吊打\(yjk\)的代码--啊哈哈哈哈哈哈哈 嗯,其实遇到这种单纯的\(gcd \ \ or \ \ lcm\)的题,我们都可以用一种比较简单的方法分析:唯一分 ...