IOS NSString类字符串拼接与截取注意点
来源:互联网 发布:centos 6.5的内核版本 编辑:程序博客网 时间:2024/06/06 08:53
不管是使用什么语言,做什么样的系统,都是需要封装字符串的。本人也是从Java转到了IOS,确实的说,有一些的不适应,不管是方法名还是使用方法。
这里说一下NSString在拼接字符串上面的问题。
NSString 提供的拼接方法主要有两个:
- (NSString *)stringByAppendingString:(NSString *)aString;
- (NSString *)stringByAppendingFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
一个是直接拼接NSString类型,一个是拼接其他你想format的字符串。
这两个方法使用还是较为频繁的。
看代码:
(NSString *)buildNameStr =@"";
[buildNameStr stringByAppendingString:@"dsafsafsdfadsf"];
你会发现,没有任何效果,这是怎么回事?
如果是新手,估计也得花个几分钟查查问题所在了。我明明是拼接了呀!怎么会这样呢?(老手不吐槽弱智哈!)
你需要这样:
[buildNameStr stringByAppendingString:@"dsafsafsdfadsf"];
buildNameStr = [buildNameStr stringByAppendingString:[NSString stringWithFormat:@"%@,",buildName]];
其实,这与Java中的String应该是一样的道理。
NSString对象每一次拼装时拿的地址空间不是以前的地址空间。
什么意思呢?
就是之前新建buildNameStr的时候,开辟了一块内存空间。由于NSString的特性,NSString为定长的。不像java中的BufferString。
再拼接之后,实际上是开辟了另外一个内存地址存放拼接后的字符串。
所以,你打印之后,buildNameStr 还是@"".
你需要把buildNameStr对象的指向拼接后的字符串地址。即是:
[buildNameStr stringByAppendingString:@"dsafsafsdfadsf"];
buildNameStr = [buildNameStr stringByAppendingString:[NSString stringWithFormat:@"%@,",buildName]];
stringByAppendingFormat:方法也就一样的道理了。不一样的是,OC与C语言一样,想要在字符串中拼接上整型,或者其他的时候,都是需要使用NSString的拼装方法StringFormat的,是不是很麻烦。我也觉得,怎么都没java来的快,String a="b"+1;多简单明了!
OC需要[NSString stringFormat:@"%d",1]
当然,你可以使用可变字符串对象
/可变字符串
NSMutableString *szMuMyString = [NSMutableString stringWithString:@"Hello"];
[szMuMyString appendFormat:@"World"];
下面是NSString的截取字符串的代码:
- (NSString *)substringFromIndex:(NSUInteger)from;
- (NSString *)substringToIndex:(NSUInteger)to;
- (NSString *)substringWithRange:(NSRange)range;
看名字都知道了,fromIndex,toIndex,withRange
从哪个位置其到尾,从开头到哪个位置,从哪到哪之间的位置。
不过,这里需要注意的是,这个index是数组的下标的。从0开始算。
- IOS NSString类字符串拼接与截取注意点
- IOS NSString类字符串拼接与截取注意点
- IOS NSString类字符串拼接与截取注意点
- iOS NSString拼接字符串
- iOS NSString截取字符串
- IOS NSString--字符串截取--
- IOS--NSString(字符串截取)
- iOS截取字符串(NSString)
- iOS截取字符串(NSString)
- ios 字符串拼接 字符串拼装 NSString连接
- Linuxshell字符串截取与拼接
- shell字符串截取与拼接
- iOS开发之NSString拼接字符串
- iOS开发之字符串(NSString)的拼接
- NSString字符串的截取,拼接,匹配,反转处理
- iOS NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
- IOS NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
- IOS开发NSString与int和float的相互转换以及字符串拼接
- 转义特殊字符
- UVA 4566 - Resistors
- 学PHP避免即将到来的就业危机
- NSFileManager—枚举目录
- CSS布局奇淫技巧之-宽度自适应
- IOS NSString类字符串拼接与截取注意点
- xcode7.1.1不能真机调试ios9.2系统设备的解决方法
- 解决SQLite异常:library routine called out of sequence
- 添加.pch文件
- selenium webdriver 杂记-生成随机数字字母组合参数
- 自定义view模板,实现点击事件的回调
- VC++截取用户点击关闭按钮的消息
- iOS锚点的讲解
- 在Ubuntu 12.04 alternate 64位 中开发Qt程序出现/usr/bin/ld: error: cannot find -lGL