OC中数组与字符串的拼接与分割

转载 2013年12月04日 20:46:59
1.OC的数组成员是任意的对象指针    与C中的链表结构类似(以nil结尾)    一切的数组操作不能越界

OC的数组分为不可变数组 NSArray    可变数组 NSMutableArray

01 NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three", nil];
02 NSLog(@"%@",[array objectAtIndex:0]);//通过下标获取数组成员(下标从0开始)
03 NSLog(@"%ld",[array count]);//获取数组有效成员个数 (不包括nil)
04 for (i = 0; i < [array count]; i++) {//遍历数组(C方法)
05      NSLog(@"%@",[array objectAtIndex:i]);
06 }
07 NSLog(@"%@",array);//(OC)查看数组内容(先给array发送description消息,然后给每个成员都发送一个description消息)
08 NSArray * array1 = [[NSArray alloc]initWithArray:array];//创建数组对象 相当于拷贝
09 NSArray * arry2 = [NSArray arrayWithArray:array];//创建数组对象 相当于拷贝
10 NSEnumerator * enumer = [array objectEnumerator];//正序枚举器
11 //创建一个枚举器 把数组的每个元素的地址一次赋给枚举器,然后建立起某种关联 (枚举器只能用来读数组成员)
12 //枚举时 会和数组创建某种关联(修改监视器/迭代器) 限制枚举的同时不能修改元素 只能读不能写
13 id obj;
14 //第一次循环把数组的第一个元素赋给obj  第二次循环把第二个数组元素赋给obj
15 while (obj = [enumer nextObject]) {             //遍历数组
16      NSLog(@"%@",obj);
17 }
18 //快速枚举  第一次循环把array的第一个元素赋给ob  第二次循环把array的第二个元素赋给ob 直到nil(只能读不能改)
19 for(id ob in array){
20     NSLog(@"%@",ob);     
21 }
22 //逆序输出数组(创建逆序枚举器  第一次循环把最后一个元素赋给obj )
23 NSEnumerator * enumer1 = [array reverseObjectEnumerator];
24 while (obj = [enumer1 nextObject]) {
25      NSLog(@"%@",obj);
26 }
27 if ([obj isKindOfClass:[Dog class]]) //获取类的类型 判是否是指定类的对象
28     if ([obj isMemberOfClass:[Dog class]]) {
29     }

2.不可变数组

01 -------查找
02  
03 NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"one", nil];
04  
05 NSUInteger index = [array indexOfObject:@"one123"];//返回第一个找到的数组成员对应的下标 找不到返回NSNotFound
06  
07 index = [array indexOfObject:@"one" inRange:NSMakeRange(1, 3)];//在指定范围内查找
08     if (index != NSNotFound) {
09          NSLog(@"%ld",index);
10     }
11 ----抽取 组成新的数组
12 NSArray * array1 = [array objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 3)]];
13 《数字集合》
14 NSIndexSet这是个数字集合类
15 [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 3)]产生一个数字集合

3.可变数组

01 NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@"one",@"two",@"three",@"four", nil];
02 [array addObject:@"five"];//在数组尾部插入元素
03 [array insertObject:@"six" atIndex:5];//在数组指定下标位置插入元素(不能越界,最大值为length)
04  
05 [array removeObject:@"six"];//删除指定元素(数组中出现的所有位置都将被删除)
06 [array removeObject:@"two" inRange:NSMakeRange(0, 3)];//从指定下标位置开始的指定长度内删除指定元素
07 [array removeLastObject];//删除最后一个元素
08 [array removeAllObjects];//删除所有元素
09    
10 [array replaceObjectAtIndex:3 withObject:@"ios"];//将指定下标位置元素替换为指定的元素
11 [array exchangeObjectAtIndex:0 withObjectAtIndex:3];//将指定下标的两个元素进行交换

4.字符串分割与拼接

01 //@""   空的字符串对象
02 -------分割
03 NSString * ptr = @"I am a man";
04 NSArray * array = [ptr componentsSeparatedByString:@" "];//将字符串整体作为分割条件 返回值为NSArray不可变数组
05 NSMutableArray * array1 = [NSMutableArray arrayWithArray:array];//若修改,则将NSArray转化为NSMutableArray
06 NSArray * array2 = [ptr componentsSeparatedByCharactersInSet:[NSCharacterSet                                            characterSetWithCharactersInString:@", "]];//以字符串中的字符作为分割条件进行分割
07 《字符集合》
08 NSCharacterSet 这是个字符集合类
09 [NSCharacterSet characterSetWithCharactersInString:@", "]//把字符串转化为字符集合
10 -------拼接
11 NSString * str = [array componentsJoinedByString:@" "];
12  
13 若分割条件出现在开头或者结尾,则会出现空串@"",如果不需要,则需要转化成NSMutableString对空串进行处理
14 func1:  [array1 removeObject:@""];     //找到空串直接删除
15 func2:  for(id obj in array1){
16             if([obj length] == 0)           //空串的长度为0
17             if([obj isEqualToString:@""])   //与空串进行比较(字符串是不能进行==比较的,要使用函数)       
18

        }      

相关文章推荐

NSString用法、Obj-C数组以及字符串拼接与分割

一、介绍 使用NSString创建一个字符串的代码如下: #import int main (int argc, char *argv[]) { NSAutoreleasePool*poo...

iOS将数组中的内容分拼接成字符串

NSString *string = [array componentsJoinedByString:@","];--分隔符

OC-数组常用操作(NSArray、NSMutableArray)

OC中数组与字符串大致想通,NSMutableArray为NSArray子类

oc学习之NSArray与NSMutableArray数组

// // main.m // 6-10复习 // // Created by kj on 14-6-10. // Copyright (c) 2014年 kj. All rights res...

OC 数组以及字符串拼接与分割

OC的数组成员是任意的对象指针 ,与C中的链表结构类似(以nil结尾) ,一切的数组操作不能越界。...
  • Aaidong
  • Aaidong
  • 2015年09月24日 05:23
  • 495

OC  字符串  数组  集合

字符串分割成数组 NSString *aaa = @"adad*j jssdf*fjka*snfjkasf* aD A F*jlkg"; NSArray *array = [aaa comp...

字符串数组集合OC简单介绍

//1、类合和对象的定义声明和使用。 /*         // insert code here...         // //流程         //1.创建类(commond + n...

OC_语法入门_day7_Foundation框架/结构体/字符串/数组/Set/Dictionary(Map)/数值封装/任意类型封装/日期

H:/Objective-C/OC_day7/01-结构体-main.m// // main.m // 01-结构体 // // Created by apple on 13-8-12. // ...

OC初学必看,字符串,数组,字典,集合,NSNumber 等的简单操作

//1.实例化一个字符串对象     NSString *newString = [[NSString alloc]initWithFormat:@"abc蓝鸥科技ios15班!"];     ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC中数组与字符串的拼接与分割
举报原因:
原因补充:

(最多只允许输入30个字)