天天看点

Objective-C: 字符串NSString与NSMutableString

      字符串算是OC中非常重要和常用的一部分内容,OC中的字符串与我之前在学习C,C++,Java中的字符串有一定的不同,它非常类似于C++中容器的概念,但用法却与之还是有很大的不同,也许是因为OC的语法就与其他我们常用的编程语言不尽相同。

       这里总结一下字符串NSString与NSMutableString。

一. NSString

      NSString代表字符序列不可变的字符串,NSString的功能非常强大,OC的字符串处理比C语言的饿字符串简单、易用得多。

      这里我们通过一个具体的例子来进行分析。

      创建两个字符串对象: 

      计算字符串中的字符个数:

     利用stringWithString 将一个字符串复制到另一个字符串:

     stringByAppendingString,将一个字符串复制到另一个字符串的末尾:

      isEqualToNumber : 方法比较两个NSNumber对象的数值。程序会返回一个BOOL值,查看这两个值是否相等。

      isEqualToString,判断两个字符串是否相等:

     compare : 方法测试一个值是否在数值上小于、等于或大于另一个值。

如: [intNumber compare : myNumber]

若intNumber 小于 myNumber ,返回NSOrderedAscending ;

                           相等                    ,返回NSOrderdSame;

                           大于                    ,返回NSOrderdDescending

        uppercaseString,将字符串转换为大写。

        lowercaseString,将字符串转换为小写。

示例代码如下:

Objective-C: 字符串NSString与NSMutableString
Objective-C: 字符串NSString与NSMutableString

代码清单

       stringByAppendingString,在字符串后面添加固定的字符串:

       substringToIndex,获取str的前10个字符组成的字符串:

substringToIndex:方法创建了一个子字符串,包括首字符都指定的索引数,但不包括这个字符。因为索引数是从0开始的,所以参数3表示从字符串中提取0、1、2,并返回结果字符串对象。对于所有采用索引数作为参数的字符串方法,如果提供的索引数对该字符串无效,就会获得Range or index out of bounds的出错信息。

      substringFromIndex,获取str从第5个字符开始,与后面字符组成的字符串:

      获取str从第5个字符开始,到第15个字符组成的字符串:

      rangeOfString , 获取ios在str中出现的位置:

Objective-C: 字符串NSString与NSMutableString
Objective-C: 字符串NSString与NSMutableString

二. NSMutableString

      NSMutableString对象代表一个字符序列可变的字符串,而且NSMutableString是NSString的子类,因此前面介绍的NSString所包含的方法,NSMutableString都可以直接使用,NSMutableString对象也可直接当成NSString对象使用。

      stringWithString,用不可变字符串创建可变字符串:

       insertString,插入字符:

      insertString:  atIndex:   ,插入末尾进行有效拼接:

      deleteCharactersInRange:NSMakeRange() , 根据范围删除子字符串:

      查找然后直接删除:

 示例代码如下:

Objective-C: 字符串NSString与NSMutableString

微信公众号:

<a target="_blank" href="https://yqfile.alicdn.com/img_e00999465d1c2c1b02df587a3ec9c13d.jpg">猿人谷</a>

如果您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】

如果您希望与我交流互动,欢迎关注微信公众号

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。