您当前位置:首页 > 睿峰资讯 > 技术论坛 > 技术课堂|swift之string篇

技术课堂|swift之string篇

时间:2016-10-28 09:22:03   来源:未知  作者:睿峰


首先我们回顾一下C、OC中字符串相关知识:



C语言中,通常说字符串为一个普通的字符数组,如:char characters[12] = "hello world";而C语言中引用字符串通常和指针扯上关系,写法如:char * s = "hello world";这两种写法上,存在一个明显的区别在于characters中的字符存在于栈区,而s指向的字符串存在于常量区,这一点需要注意;

当我们去处理C语言中的字符串时,通常引用系统给予的库文件<string.h>,对字符串进行比较、复制、粘贴等,直接使用一些库函数就能达到相应效果;

OC语言中,字符串类型分为NSString和NSMutableString,可以理解为可变和不可变字符串,故名思议,对于可变字符串我们可以在源字符串中进行增、删等操作,而对于不可变字符串,对其内容进行修改之外,必将产生新的字符串;、


Swift中的字符串:


首先,对于Swift中的字符串,我们需要先区别一下Swift中的字符和字符串的关系和区别:即Character和String;



如下:


这两条语句中,均未设定其类型,由于Swift的左推导类型的作用,会默认temp为Character(字符)类型,而otherTemp为String(字符串)类型;


注意:String和Character类型的值均为双引号;Character类型,无法为自身字符串进行追加操作(如:append操作);

下面,我们来看一些对于String的一些操作:(这里我们不再区分var 和let)

1、初始化字符串



2、判定字符串是否为空


控制台打印信息:”empty string”,这里,我们可以通过函数countElements()来得到字符串的字符个数;



3、字符串的拼接


其中:第4中方式,insert index位置,类型必须为String.Index类型,不能为Int类型,所以我们需要先通过String得到对应的index,然后才能insert操作成功;



第5中方式,将Swift中的String类型转换为OC中的NSMutableString类型,此后,用法同OC中的NSMutableString的用法;



最后控制台打印效果可以自己做尝试,这里就不再展示了;


4、移除元素

其中,需要注意代码中2和-2的写法,advance函数第二个参数位置,正数代表往后(右)移动位置,负数代表向前(左)移动位置;startIndex为当前字符串的开始,endIndex为当前字符串的结尾;startIndex ... endIndex表示范围,注意...(闭区间)前后的空格一定要匹配,否则编译器会报错误:removeAll函数中参数为Bool类型.

上一篇:疯转|17条开发者最实用技巧!  
下一篇:收藏|让你强大的62种免费工作资源!

睿峰教育——做受尊敬的培训机构 价值观: 敬畏 感恩 责任 创新 使命——通过移动互联产品提升人类生活品质 join us