首页 > 代码库 > Swift基础语法:String篇

Swift基础语法:String篇

首先我们回顾一下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类型,无法为自身字符串进行追加操作;

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


    1、初始化字符串


技术分享

    这里两句初始化方法,均为初始化两个空字符串;


    2、判定字符串是否为空

技术分享

    控制台打印信息:字符串为空,这里,我们可以通过函数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类型;

    看一下控制台的输出:

技术分享


    5、查询字符串

    技术分享

    Swift查询字符串包涵三种方式,第一种为hasPrefix,查询前缀,第二种为hasSuffix,查询后缀,最后一种为 == 双等号和 != 不等号,比较是否相等,后续我们会介绍 === 三个等号和 !==的形式;


    6、遍历字符串

    技术分享

    这里只简单介绍两种遍历方式,其他方式比较少用,可以查看相关开发文档

    

    



 

本文出自 “才女金大福” 博客,请务必保留此出处http://liwenyu.blog.51cto.com/9864907/1611032

Swift基础语法:String篇