牛骨文教育服务平台(让学习变的简单)
博文笔记

NSString字符串与数组

创建时间:2015-07-14 投稿人: 浏览次数:423

1.创建一个普通字符串

NSString *str=@"abc"不可变字符串;NSMtablestring *str1=[NSMtablestring string]可变字符串

不可变字符串:生成的对象都是不可变的字符串对象。比如string=@“iphone”,如果想获得“ip”只能生成新的字符串“ip”,NSMutable是可变字符串类型,生成的对象是可变字符串类型,对可变字符串进行操作可以直接改变自身

2.获得字符串的一些方法

     (1)NSString *phone=[string substringFromIndex:1];从字符串中第一个元素开始一直截取到最后,获得的结果是:“hone”;

     (2)NSString *ipStr=[string substringToIndex:2];从字符串第0个元素开始,截取两个字符,结果是:“ip”;

     (3)NSRange range=NSMakeRange(3,2);

     NSString *onStr=[string substringWithRange:range];从第三个元素开始截取两个字符

    字符串拼接

     NSString *sixstr=@"6";

     NSString *iphone6=[string stringByAppendingString:sixstr];打印结果就是“iPhone6”;

     字符串替换

     NSString *sevenstr=@"7";

     NSString *iphone7=[iphone6 stringByReplacingOccurrencesOfString:@"6" withString:@"7"];

    字符串比较

   NSComparisonResult h=[a caseInsensitiveCompare:b];

3.数组是存储在ui中可显示内容的集合

    NSArray *array=[NSArray arrayWithObjects:@"a",@"b",@"c",@"[:hello]", nil];

    NSString *str1=[array objectAtIndex:1];

    [array firstObject];

    [array lastObject];

4.把数组中的东西一个一个的弄到end里

    NSArray *end=[NSArray arrayWithArray:array];

    NSLog(@"%@",end);

5.可变数组,必须初始化才能使用

    NSMutableArray *array1=[NSMutableArray arrayWithObjects:@"1",@"2",@"3", nil];

    [array1 addObject:@"7" ];//往数组里添加一个元素

    NSLog(@"%@",array1);


    NSMutableArray *array2=[NSMutableArray arrayWithObjects:@"4",@"5",@"6", nil];

    [array2 addObjectsFromArray:array1];//把一个数组中的东西拷贝到另一个数组中

    NSLog(@"%@",array2);


    NSMutableArray *array7=[NSMutableArray arrayWithObjects: nil];

    NSMutableArray *array8=[NSMutableArray arrayWithObjects:@"你好",@"uu",@"吃饭", nil];

    [array7 addObject:array8];//大数组里面包含小数组就相当于里面小数组是个元素

     NSLog(@"%@",array7);

6.字符串获取方法与数组结合

   NSString *str = @"abc[:hello]ok[:cool]bye[:bye]";

    NSMutableString *str1 = [NSMutableString string];

    NSMutableString *str2 = [NSMutableString string];

   BOOL mid = NO;  //判断是否有中括号

    BOOL judge = NO; //判断是否包括“[:”

   for (int i = 0; i < str.length ; i++) {

        //遍历输出所有字符

        NSString *current = [str substringWithRange:NSMakeRange(i, 1)];

        //判断字符是否与“[”相等

        if ([current isEqualToString:@"["]) {

            //有中括号,继续;

            mid = YES;

            //将“[”装入目标字符串中

            [str2 appendString:current];

            //如果字符串与“:”相等

        } else if ([current isEqualToString:@":"]) {

            //判断前一个是否是中括号

            if (mid) {

                //判断是否包含“[:”

                judge = YES;

                //判断后面一个字符串是否是中括号

                mid = NO;

                //将“:”装入目标字符串中

                [str2 appendString:current];

            }

            //判断是否包含右中括号

       } else if ([current isEqualToString:@"]"]) {

            //判断前一个是否包含“[:”

            if (judge) {

                //没有包含"[:"

                judge = NO;

                //将“】”放入目标字符串中

               [str2 appendString:current];

            }

        } else {

            //判断表情字符

            if (judge) {

                [str2 appendString:current];

                continue;

            }

            mid = NO;

            [str1 appendString:current];

        }

   }

    NSLog(@"非标签字符str1 = %@", str1);

    NSLog(@"标签字符str2 = %@", str2);

获取的结果的是:str1=abcokbye;str2=[:hello][:cool][:bye];




声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。