博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objective-c语言 字符串类NSMutableString用法
阅读量:4646 次
发布时间:2019-06-09

本文共 3053 字,大约阅读时间需要 10 分钟。

NSMutableString 是NSString 的子类,NSMutableString有很多方法,下面是总结的几种常用的方法:

stringWithString:,类级构造方法创建NSString对象;

insertString:,插入字符串,不会创建新的对象;

appendString:,追加字符串,不会创建新的对象;

deleteCharactersInRange:,在一个范围内删除字符串,不会创建新的对象;

replaceCharactersInRange: withString:,替换字符串,不会创建新的对象。

#import 
int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSString *str1 = @"Objective C"; NSString *search,*replace; NSMutableString *mstr; NSRange substr; //从不可变的字符创建可变字符串对象 mstr = [NSMutableString stringWithString: str1]; NSLog(@" %@", mstr); //插入字符串 [mstr insertString: @ " Java" atIndex: 9]; NSLog(@" %@", mstr); //具有连接效果的插入字符串 [mstr insertString: @ " and C++"atIndex: [mstr length]]; NSLog(@" %@", mstr); //字符串连接方法 [mstr appendString: @ " and C"]; NSLog(@" %@", mstr); //使用NSRange删除字符串 [mstr deleteCharactersInRange:NSMakeRange(16, 13)]; NSLog(@" %@", mstr); //查找字符串位置 substr = [mstr rangeOfString: @ "string B and"]; if (substr.location != NSNotFound) { [mstr deleteCharactersInRange: substr]; NSLog(@" %@", mstr); } //直接设置可变字符串 [mstr setString: @ "This is string A "]; NSLog(@" %@", mstr); [mstr replaceCharactersInRange: NSMakeRange(8, 8) withString: @ "a mutable string "]; NSLog(@" %@", mstr); //查找和替换 search = @"This is "; replace = @"An example of "; substr = [mstr rangeOfString:search]; if (substr.location != NSNotFound) { [mstr replaceCharactersInRange:substr withString: replace]; NSLog(@" %@", mstr); } //查找和替换所有的情况 search = @"a"; replace = @"X"; substr = [mstr rangeOfString: search]; while (substr.location != NSNotFound) { [mstr replaceCharactersInRange:substr withString: replace]; substr = [mstr rangeOfString: search]; } NSLog(@" %@", mstr); [pool drain]; return 0; }
运行结果如下:

2011-09-08 16:35:26.320 2.10.1-2[3124:a0f]  Objective C  2011-09-08 16:35:26.323 2.10.1-2[3124:a0f]  Objective Java C  2011-09-08 16:35:26.324 2.10.1-2[3124:a0f]  Objective Java C and C++  2011-09-08 16:35:26.324 2.10.1-2[3124:a0f]  Objective Java C and C++ and C  2011-09-08 16:35:26.325 2.10.1-2[3124:a0f]  Objective Java CC  2011-09-08 16:35:26.325 2.10.1-2[3124:a0f]  This is string A   2011-09-08 16:35:26.326 2.10.1-2[3124:a0f]  This is a mutable string    2011-09-08 16:35:26.326 2.10.1-2[3124:a0f]  An example of a mutable string    2011-09-08 16:35:26.327 2.10.1-2[3124:a0f]  An exXmple of X mutXble string
我们解释主要代码。语句[mstr deleteCharactersInRange:NSMakeRange(16, 13)]是删除指定范围的字符串,函数NSMakeRange 是创建NSRange结构体,其中第一个参数是位置,第二个参数是长度;语句[mstr replaceCharactersInRange: NSMakeRange(8, 8)withString: @ "a mutable string "]替换指定访问的字符串;语句[mstr deleteCharactersInRange: substr]是删除指定范围的字符串。

转载于:https://www.cnblogs.com/sybz/archive/2012/08/06/2774520.html

你可能感兴趣的文章
UUID、GUID、SID、SUSID
查看>>
UCenter重置创始人和用户密码
查看>>
json教程系列(5)-json错误解析net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
查看>>
String subString方法
查看>>
Python类相关的装饰器
查看>>
07.计算Nova→2.nova组件详解→2.nova-scheduler
查看>>
SQL语句主要的分类
查看>>
SSH使用Slf4j
查看>>
回溯法之一---算法框架及基础
查看>>
11.05篮球弹起与棋盘放芝麻
查看>>
mybaties 使用注解注入动态sql (if-else)-转义字符
查看>>
PHP文本操作
查看>>
Use 'var' or not
查看>>
JavaScript学习笔记(1)
查看>>
线程之线程同步(2)
查看>>
cxf 例子
查看>>
【.net 深呼吸】获取日期的干支纪年
查看>>
Docker镜像分层技术
查看>>
elastic-job详解(三):Job的手动触发功能
查看>>
SQLite中使用全文搜索FTS
查看>>