字符串算是平常用的比较多、花样也比较多的一个类型,昨天有空把相关的一些常用操作都写了一遍,总结出来。其实iOS里面的字符串更复杂,还有NSString系列等等,那些API太多将来需要用的时候再慢慢学。这个系列目前写了三篇,这篇是第一部分,String的一些常用属性。其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P):

判断是否为空

str.isEmpty

获取字符数组

Swfit里面的String很有意思,它并不是由很多个Character组成的,而是在其上面又封装了一些东西。另外因为要兼容不同的编码,每个组成字符所占的内存也不一样(例如中文和英文的区别),所以它的下标并不是一个Int型,也不能通过下标来直接定位、获取字符。

Array(str.characters)

获取长度

str.characters.count

下标(Index)操作

str.startIndex  //起始下标
str.endIndex //结束下标
var i = str.startIndex.successor() //下标的前后移动
str.endIndex.predecessor()
str[i] //通过Index能直接拿到字符
str.characters[i] //第二种方法
i = i.advancedBy(2) //起始位之后3个字符,即第四个字符
i.distanceTo(str.endIndex)

大小写

str.uppercaseString
str.lowercaseString
str.capitalizedString

不同的编码输出

这里为了Playground可视结果方便,转化成了数组

Array(str.utf8.enumerate())

Array(str.utf16.enumerate())

Array(str.unicodeScalars.enumerate())

Array(str.nulTerminatedUTF8)

 

Swift2.0 中的String(一):常用属性的更多相关文章

  1. Swift2.0 中的String(三):类型转换

    本系列第三篇,String相关的类型转换.其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P): Swift2.0 中的String(一 ...

  2. Swift2.0 中的String(二):基本操作

    Swift中的字符串,第二篇,基本操作.其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P): Swift2.0 中的String(一) ...

  3. Android中TextView和EditView常用属性设置

    Android中TextView和EditView常用属性设置 点击跳转

  4. HTML中的meta标签常用属性及其作用总结

    文章同步到github 以前没怎么太注意过meta标签的作用,只是简单了解一些常用属性,现在结合个人了解的进行记录与总结: 元数据 首先需要了解一下元数据(metadata)元素的概念,用来构建HTM ...

  5. Android开发中XML布局的常用属性说明

    <!-- 常用属性说明: android:id="@+id/button" 为控件指定Id android:text="NNNNNNNNNN" 指定控件的 ...

  6. List转String数组 collection.toArray(new String[0])中new String[0]的语法解释

    Collection的公有方法中,toArray()是比较重要的一个. 但是使用无参数的toArray()有一个缺点,就是转换后的数组类型是Object[]. 虽然Object数组也不是不能用,但当你 ...

  7. Winform中的窗体一些常用属性

    Winform窗体的常用窗体属性 1)窗体全屏显示 this.DesktopBounds = Screen.GetWorkingArea(this);  //全屏显示桌面 注:可以放在初始化方法中,也 ...

  8. js中的数据类型及常用属性和方法

    JavaScript 字符串 字符串(或文本字符串)是一串字符(比如 "Bill Gates").字符串被引号包围.您可使用单引号或双引号您可以在字符串内使用引号,只要这些引号与包 ...

  9. 我们为什么推荐在Json中使用string表示Number属性值?

    在这篇简短的文章中,我将解释在使用JSON传输数据时,为什么浮点数或大十进制值应表示为字符串 . long类型引发的诡异情况 长话短说,同事在利用swagger对接后端API时,诡异的发现swagge ...

随机推荐

  1. [转载]我读过最好的Epoll模型讲解

    转载来自:http://blog.csdn.net/mango_song/article/details/42643971 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行 ...

  2. WCF綁定

    服务之间的通信方式是多种多样的,有多种可能的通信模式.包括:同步的请求与应答(Request/Reply)消息,或者异步的即发即弃(Fire-and-Forget)消息等等,在通信时传输的消息编码格式 ...

  3. 从 Page not found: / 提示说起,我是怎么发现webstrom与myeclipse冲突问题及解决的

    #从 Page not found: / 提示说起,我是怎么发现webstrom与myeclipse冲突问题的 ##  从前面发表了两篇博文,[webstorm+nodejs+JetBrains ID ...

  4. Git 提交后开始自动构建

    设定Git仓库的钩子 一般路径为 xxx.git/hooks 参考文档 https://git-scm.com/docs/githooks 修改 post-receive #!/bin/bash wh ...

  5. Tmux常用快捷键以及我会常到的一些问题汇总

    今天部署测试服务器环境 使用到了tmux 刚开始我把tmux想象成了像omzsh这种shell 但是被指出是错误的,tmux类似于在shell里面的软件.我还真是第一次接触到这个概念. 首先安装 br ...

  6. jquery让一个点击事件刷新页面就自己执行一次的方法

    $('name')这个元素之前已经绑定过事件啦,(on绑定)然后直接调用下即可: $('name').click();

  7. 第二百一十天 how can I 坚持

    Node.js 服务器端JavaScript,单进程. 该如何学习啊,貌似学什么都学不深入. 纠结死了. 睡觉.

  8. jquery call方法和apply方法接触

    call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来 ...

  9. TCP包头

    每发一个包,不论大小协议头会占用一定的空间 TCP头20字节,IP头20字节,MAC头14字节,共54字节 //Mac头部,总长度14字节  typedef struct _eth_hdr  {    ...

  10. POJ 3347 Kadj Squares

    Kadj Squares Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 2132   Accepted: 843 Descr ...