`
jishublog
  • 浏览: 869009 次
文章分类
社区版块
存档分类
最新评论

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

阅读更多

1.OC的数组成员是任意的对象指针 与C中的链表结构类似(以nil结尾) 一切的数组操作不能越界

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

  1. NSArray*array=[[NSArrayalloc]initWithObjects:@"one",@"two",@"three",nil];
  2. NSLog(@"%@",[arrayobjectAtIndex:0]);//通过下标获取数组成员(下标从0开始)
  3. NSLog(@"%ld",[arraycount]);//获取数组有效成员个数(不包括nil)
  4. for(i=0;i<[arraycount];i++){//遍历数组(C方法)
  5. NSLog(@"%@",[arrayobjectAtIndex:i]);
  6. }
  7. NSLog(@"%@",array);//(OC)查看数组内容(先给array发送description消息,然后给每个成员都发送一个description消息)
  8. NSArray*array1=[[NSArrayalloc]initWithArray:array];//创建数组对象相当于拷贝
  9. NSArray*arry2=[NSArrayarrayWithArray:array];//创建数组对象相当于拷贝
  10. NSEnumerator*enumer=[arrayobjectEnumerator];//正序枚举器
  11. //创建一个枚举器把数组的每个元素的地址一次赋给枚举器,然后建立起某种关联(枚举器只能用来读数组成员)
  12. //枚举时会和数组创建某种关联(修改监视器/迭代器)限制枚举的同时不能修改元素只能读不能写
  13. idobj;
  14. //第一次循环把数组的第一个元素赋给obj第二次循环把第二个数组元素赋给obj
  15. while(obj=[enumernextObject]){//遍历数组
  16. NSLog(@"%@",obj);
  17. }
  18. //快速枚举第一次循环把array的第一个元素赋给ob第二次循环把array的第二个元素赋给ob直到nil(只能读不能改)
  19. for(idobinarray){
  20. NSLog(@"%@",ob);
  21. }
  22. //逆序输出数组(创建逆序枚举器第一次循环把最后一个元素赋给obj)
  23. NSEnumerator*enumer1=[arrayreverseObjectEnumerator];
  24. while(obj=[enumer1nextObject]){
  25. NSLog(@"%@",obj);
  26. }
  27. if([objisKindOfClass:[Dogclass]])//获取类的类型判是否是指定类的对象
  28. if([objisMemberOfClass:[Dogclass]]){
  29. }

2.不可变数组

  1. -------查找
  2. NSArray*array=[[NSArrayalloc]initWithObjects:@"one",@"two",@"three",@"one",nil];
  3. NSUIntegerindex=[arrayindexOfObject:@"one123"];//返回第一个找到的数组成员对应的下标找不到返回NSNotFound
  4. index=[arrayindexOfObject:@"one"inRange:NSMakeRange(1,3)];//在指定范围内查找
  5. if(index!=NSNotFound){
  6. NSLog(@"%ld",index);
  7. }
  8. ----抽取组成新的数组
  9. NSArray*array1=[arrayobjectsAtIndexes:[NSIndexSetindexSetWithIndexesInRange:NSMakeRange(1,3)]];
  10. 《数字集合》
  11. NSIndexSet这是个数字集合类
  12. [NSIndexSetindexSetWithIndexesInRange:NSMakeRange(1,3)]产生一个数字集合

3.可变数

  1. NSMutableArray*array=[[NSMutableArrayalloc]initWithObjects:@"one",@"two",@"three",@"four",nil];
  2. [arrayaddObject:@"five"];//在数组尾部插入元素
  3. [arrayinsertObject:@"six"atIndex:5];//在数组指定下标位置插入元素(不能越界,最大值为length)
  4. [arrayremoveObject:@"six"];//删除指定元素(数组中出现的所有位置都将被删除)
  5. [arrayremoveObject:@"two"inRange:NSMakeRange(0,3)];//从指定下标位置开始的指定长度内删除指定元素
  6. [arrayremoveLastObject];//删除最后一个元素
  7. [arrayremoveAllObjects];//删除所有元素
  8. [arrayreplaceObjectAtIndex:3withObject:@"ios"];//将指定下标位置元素替换为指定的元素
  9. [arrayexchangeObjectAtIndex:0withObjectAtIndex:3];//将指定下标的两个元素进行交换

4.字符串分割与拼接

  1. //@""空的字符串对象
  2. -------分割
  3. NSString*ptr=@"Iamaman";
  4. NSArray*array=[ptrcomponentsSeparatedByString:@""];//将字符串整体作为分割条件返回值为NSArray不可变数组
  5. NSMutableArray*array1=[NSMutableArrayarrayWithArray:array];//若修改,则将NSArray转化为NSMutableArray
  6. NSArray*array2=[ptrcomponentsSeparatedByCharactersInSet:[NSCharacterSetcharacterSetWithCharactersInString:@","]];//以字符串中的字符作为分割条件进行分割
  7. 《字符集合》
  8. NSCharacterSet这是个字符集合类
  9. [NSCharacterSetcharacterSetWithCharactersInString:@","]//把字符串转化为字符集合
  10. -------拼接
  11. NSString*str=[arraycomponentsJoinedByString:@""];
  12. 若分割条件出现在开头或者结尾,则会出现空串@"",如果不需要,则需要转化成NSMutableString对空串进行处理
  13. func1:[array1removeObject:@""];//找到空串直接删除
  14. func2:for(idobjinarray1){
  15. if([objlength]==0)//空串的长度为0
  16. if([objisEqualToString:@""])//与空串进行比较(字符串是不能进行==比较的,要使用函数)
  17. }
分享到:
评论

相关推荐

    MATLAB中的数组和字符串操作指南

    随后,深入探讨了字符串处理,在MATLAB中如何拼接、分割、替换、格式化字符串等。资源中提供了大量示例代码,以帮助您更好地理解和应用这些操作。 适用人群: 适用于编程初学者和MATLAB开发者,尤其是那些希望提升...

    JS分割字符串并放入数组的函数

    JS分割字符串并放入数组的函数,需要的朋友可以参考下。

    字符串数组 matlab

    字符串数组是MATLAB中的一种数据类型,用于存储文本数据。字符串数组可以包含任意长度的文本,可以进行各种操作,如拼接、分割、替换等。在MATLAB中,字符串数组可以使用单引号或双引号来定义

    c# 字符串操作类

    /// 2、GetStrArray(string str) 把字符串转 按照, 分割 换为数据 /// 3、GetArrayStr(List list, string speater) 把 List 按照分隔符组装成 string /// 4、GetArrayStr(List list) 得到数组列表以逗号分隔的...

    c语言字符串分割,截取,子串查找,插入,删除

    int strarray_cat(char (*arr)[str_max_len],int i,char *str) //把二维arr字符串数组拼接成一个串,i是第一维的长度,存入str int replacate(char *res,int n,char const *str) //产生n个重复的str(串或者字符)存入...

    Python 数据分析三剑客之 NumPy(四):NumPy 史上最全的字符串函数总结与对比

    Python 数据分析三剑客之 NumPy(二):NumPy 数组索引、切片、广播、拼接、分割 Python 数据分析三剑客之 NumPy(三):万字文章详解 NumPy 数组的迭代与位运算 Python 数据分析三剑客之 NumPy(四):NumPy 史上最...

    总结PHP删除字符串最后一个字符的三种方法

    从数据库中select()读取一对多的信息时,经常需要将取出的数组用某个特定的字符分割,然后拼接成字符串。 常见的语法格式: foreach ($arr as $key =&gt; $value) { $arr_str = $arr['x_id'] . ',' . $arr_str; } ...

    java之学习正则split分割的典型案例

    首先要把字符串分割开用正则中的split方法 * 2,定义一个和字符串数组一样大小的int数组 * 3,把字符串数组转换成数字字符 * 4,排序,用sort方法 * 5,拼接成新的字符串

    python cookbook(第3版)

    2.14 合并拼接字符串 2.15 字符串中插入变量 2.16 以指定列宽格式化字符串 2.17 在字符串中处理html和xml 2.18 字符串令牌解析 2.19 实现一个简单的递归下降分析器 2.20 字节字符串上的字符串操作 第三章:...

    Oracle字段根据逗号分割查询数据的方法

    项目需求是这样的表里的某个字段存储的值是以逗号分隔开来的,要求根据分隔的每一个值都能查出来数据,但是不能使用like查询。这篇文章主要介绍了Oracle字段根据逗号分割查询数据,需要的朋友可以参考下

    php中处理mysql_fetch_assoc返回来的数组 不用foreach—-echo

    复制代码 代码如下: $id = intval($_GET[... 您可能感兴趣的文章:Mysql通过存储过程分割字符串为数组PHP实现将MySQL重复ID二维数组重组为三维数组的方法PHP将MySQL的查询结果转换为数组并用where拼接的示例php查询my

    Python 数据分析三剑客之 NumPy(六):矩阵 / 线性代数库与 IO 操作

    Python 数据分析三剑客之 NumPy(四):字符串函数总结与对比 Python 数据分析三剑客之 NumPy(五):数学 / 算术 / 统计 / 排序 / 条件 / 判断函数合集 Python 数据分析三剑客之 NumPy(六):矩阵 / 线性代数库与 ...

    PHP高性能编程经验分享.txt

    二、字符串拼接 $s1='123'; 第一种:$s1=$s1.'456';//这种效率最低下 第二种:$s1.='456';//效率高 第三种:将它存入数组,最后使用impolde函数拼接,效率高。 三、如果有PHP内置函数,请尽量使用内置函数,...

    Node.js MongoDB AngularJSWeb开发中文版.part1

    2.8.4 将字符串分割成数组 27 2.9 使用数组 27 2.9.1 合并数组 28 2.9.2 遍历数组 29 2.9.3 将数组转换为字符串 29 2.9.4 检查数组是否包含某个条目 29 2.9.5 在数组中添加条目和删除条目 30 2.10 添加错误处理 30 ...

    Matlab教程 我觉得很好

    2.3.3 字符串 2.4 函数 2.4.1 标量函数 2.4.2 向量函数 2.4.3 矩阵函数 2.5 程序设计 2.5.1 关系和逻辑运算 2.5.2 条件和循环语句 第三章 MATLAB图形制作 3.1 函数 plot 3.2 函数 ezplot 3.2.1 绘制隐函数的平面...

    JavaScript中push(),join() 函数 实例详解

    join方法 用于把数组中所有元素添加到一个指定的字符串,元素是通过指定的分隔符进行分割的。 语法 arrayObject.push(newelement1,newelement2,....,newelementX) arrayObject.join(separator)。 参数描述new...

    gasstationleetcode-algorithm:算法

    转字符串 环形链表 环形链表 II 分割等和子集 二叉搜索树的最小绝对差 两两交换链表中的节点 查找常用字符 填充每个节点的下一个右侧节点指针 有序数组的平方 N皇后 II 删除链表的倒数第N个节点 比较含退格的字符串 ...

    MySQL中将一列以逗号分隔的值行转列的实现

    前言 有时会遇到没有遵守第一范式设计模式的业务表。即一列中存储了多个属性值。如下表 pk value ...select distinct(substring_index(substring_index(a.col,',',b.help_topic_id+1),',',-1)) ...

    data-structures-and-algorithms

    数据结构与算法 代码301代码挑战 13个挑战 每次 按值传递,按引用传递 种类 正则表达式,第1部分 分割,连接,切片,拼接 Object.keys,Object.values,... 包括每个子字符串charAt 代码401代码挑战 * 阵列反转

Global site tag (gtag.js) - Google Analytics