NSMutableString类

作者:追风剑情 发布于:2019-2-28 17:53 分类:Objective-C

NSMutableString类可以用来创建可以更改字符的字符串对象。因为是NSString类的子类,所以可以使用NSString类的所有方法。

常见的NSMutableString方法
方法 描述
+(id) stringWithCapacity: size 创建一个初始包含size字符的字符串
-(id) initWithCapacity: size 使用初始容量为size的字符来初始化字符串
-(void) setString: nsstring 将字符串设置为nsstring
-(void) appendString: nsstring 在接收者的末尾附加nsstring
-(void) deleteCharactersInRange: range 删除指定range中的字符
-(void) insertString: nestling atIndex: i 以索引i为起始位置插入nsstring
-(void) replaceCharactersInRange: range withString: nestling 使用nsstring替换range指定的字符
-(void) replaceOccurrencesOfString: nestling withString: nsstring2 options: opts range: range 根据选项opts,在指定范围range中用nsstring2替换所有的nestling。选项可以是以下值的按位或组合:NSBackwardsSearch(查找从范围尾部开始)、NSAnchoredSearch(nsstring必须匹配范围的开始)、NSLiteralString(执行逐字符比较)以及NSCaseInsensitiveSearch(忽略大小写)

示例

  1. #import <Foundation/Foundation.h>
  2.  
  3. int main(int argc, const char * argv[]) {
  4. @autoreleasepool {
  5. NSString *str1 = @"This is string A";
  6. NSString *search, *replace;
  7. NSMutableString *mstr;
  8. NSRange substr;
  9. // 从不可变字符串创建可变字符串
  10. mstr = [NSMutableString stringWithString: str1];
  11. NSLog(@"%@", mstr);
  12. // 插入字符
  13. [mstr insertString: @" mutable" atIndex: 7];
  14. NSLog(@"%@", mstr);
  15. // 插入末尾进行有效拼接
  16. [mstr insertString: @" and string B" atIndex: [mstr length]];
  17. NSLog(@"%@", mstr);
  18. // 直接使用appendString
  19. [mstr appendString: @" and string C"];
  20. NSLog(@"%@", mstr);
  21. // 根据范围删除子字符串
  22. [mstr deleteCharactersInRange: NSMakeRange(16, 13)];
  23. NSLog(@"%@", mstr);
  24. // 查找然后将其删除
  25. substr = [mstr rangeOfString: @"string B and "];
  26. if (substr.location != NSNotFound) {
  27. [mstr deleteCharactersInRange: substr];
  28. NSLog(@"%@", mstr);
  29. }
  30. // 直接设置为可变的字符串
  31. [mstr setString: @"This is string A"];
  32. NSLog(@"%@", mstr);
  33. // 替换一些字符
  34. [mstr replaceCharactersInRange: NSMakeRange(8, 8) withString: @"a mutable string"];
  35. NSLog(@"%@", mstr);
  36. // 查找和替换
  37. search = @"This is";
  38. replace = @"An example of";
  39. substr = [mstr rangeOfString: search];
  40. if (substr.location != NSNotFound) {
  41. [mstr replaceCharactersInRange: substr withString: replace];
  42. NSLog(@"%@", mstr);
  43. }
  44. // 查找和替换所有的匹配项
  45. search = @"a";
  46. replace = @"X";
  47. substr = [mstr rangeOfString: search];
  48. /*while (substr.location != NSNotFound) {
  49. [mstr replaceCharactersInRange: substr withString: replace];
  50. substr = [mstr rangeOfString: search];
  51. }*/
  52. // 查找并全部替换,和上面的while方式效果相同
  53. [mstr replaceOccurrencesOfString: search
  54. withString: replace
  55. options: nil
  56. range: NSMakeRange(0, [mstr length])];
  57. NSLog(@"%@", mstr);
  58. }
  59. return 0;
  60. }

运行测试
111.png

标签: Objective-C

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号