美文网首页
NSString&NSMutableString

NSString&NSMutableString

作者: Mustard_Buli | 来源:发表于2016-03-02 14:56 被阅读158次

    在OC中的字符串可分为两种:不可变字符串(NSString)和不可变字符串(NSMutableString)。从字面上就可以理解这两种字符串的区别。
    ▲不可变字符串(NSString)
      1.创建
        ①静态
         NSString *str = @"Hello World!";
        ②用alloc创建空字符串对象 (对象方法『-』)
         NSString *str = [[[NSString alloc] init] autorelease];
        ③用alloc创建有初始值的字符串对象 (对象方法『-』)
         NSString *str = [[[NSString alloc] initWithString: @"Hello World!"] autorelease];
        ④不需要自己控制内存(工厂方法、便利器方法) (类方法『+』)
         NSString *str = [NSString stringWithString:@"Hello World!"];
        ⑤字符串按一定格式『拼接』,这个的用法很像『NSLog』.
         int age = 20, height = 170;
         NSString *str = [NSString stringWithFormat:@"age=%d height=%d", age, height];
      2.获取字符串长度 length
        NSUInteger length = str.length;(NSUInteger length = strlen(str);)
      3.获取子字符串
        ①substringFromIndex;  从哪个索引值开始获取
        ②substringToIndex;    一直获取到哪个索引值
        ③substringWithRange;  从哪个索引值开始获取多长的字符串
          typedef struct _NSRange {
           NSUInteger location;
           NSUInteger length;
          } NSRange;
          因为NSRange是一个结构体,所以在定义这个类型变量的时候不用指针(*)。
          eg:NSRange range = NSMakeRange(4, 8);
      4.字符串的比较
        ①isEqualToString:
        ②compare:
        typedef enum{
          NSOrderedAscending = -1,    『上升』前者比后者小
          NSOrderedSame,
          NSOrderedDescending       『下降』前者比后者大
        }NSComparisonResult;
      5.查找字符串
        ①hasPrefix:      在第一个查找
        ②hasSuffix:      在最后一个查找
        ③rangeOfString:    在中间查找
      6.字符串转化为相应的数据类型
        ①intValue      转化为整型,这里需要注意的是,转化的字符串只能为整型。如果在整型前面有字符串,则转化完的值为0;转化的值后面(空格隔开)则不进行转化。
        ②floatValue
        ③doubleValue
        ④boolValue
          eg:NSString *numStr = @"12.3";
             int num = [numStr intValue];


    ▲可变字符串(NSMutableString)
      @interface NSMutableString : NSString{   (说明NSMutableString是继承NSString的)
      }
      1.创建可变字符串
        NSMutableString *mStr = [NSMutableString stringWithCapacity:0];    暂时分配0个空间,当空间不够是自动追加
        NSMutableString *mStr = [[NSSMutableString alloc] initWithCapacity:0];
      2.追加字符串
        [mStr appendString:@"追加内容"];
        [mStr appendString:@"我要追加%d个内容", num];
      3.插入字符串
        [mStr insertString:@"1", atIndex:2];
        [mStr insertString:@"1", atIndex:mStr.length];    在mStr末尾插入
      4.字符串的替换
        NSRange range = [mStr rangOfString:@"需要被替换的内容"];
        [mStr replaceCharactersInRange:range withString:@"需要替换的内容"];  //这里的range和上面是一样的
      5.删除一个字符串
        [mStr deleteCharactersInRange:range];
      6.重新设置字符串的内容
        [mStr setString:@"重新设置的内容"];

    相关文章

      网友评论

          本文标题:NSString&NSMutableString

          本文链接:https://www.haomeiwen.com/subject/haenkttx.html