字符串算是平常用的比较多、花样也比较多的一个类型,昨天有空把相关的一些常用操作都写了一遍,总结出来。其实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. Javascript类型转换表

    各种类型的值 转换为各种类型 String Number Boolean Object undefined "undefined" NaN false 报错 null " ...

  2. Hadoop2.3+Hive0.12集群部署

    0 机器说明   IP Role 192.168.1.106 NameNode.DataNode.NodeManager.ResourceManager 192.168.1.107 Secondary ...

  3. Xcode升级后插件失效的原理与修复办法

    转载:http://joeshang.github.io/2015/04/10/fix-xcode-upgrade-plugin-invalid/ Xcode 的插件大大丰富了 Xcode 的功能,而 ...

  4. js运动 淡入淡出

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. Northwind数据库表字段介绍

    ① Categories:种类表 相应字段: CategoryID :类型ID: CategoryName:类型名; Description:类型说明; Picture:产品样本 ② Customer ...

  6. DataGrid loadData loadFilter

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Cl ...

  7. 解决SQLServer2008 Express远程连接出错的问题[Error: 1326错误]

    sqlserver2008 Express版本默认是只能本机测试连接,不能被其他客户端访问,原因是因为Express版本的数据库被连接默认的TCP/IP监听是被关闭的,我们可以做一些设置实现我们的远程 ...

  8. 通过ModuleImplAdvertisement向自定义服务传递参数

    无意中发现通过ModuleImplAdvertisement可以向自定义服务传递参数,有空试一试. —————————————————————————————————————————————————— ...

  9. Maven+Spring Batch+Apache Commons VF学习

    Apache Commons VFS资料:例子:http://www.zihou.me/html/2011/04/12/3377.html详细例子:http://p7engqingyang.iteye ...

  10. 安装CiscoWorks LMS

    安装CiscoWorks LMS,需要安装5张光盘,CiscoWorks LMS的安装步骤比较简单,在这里只介绍需要的重要步骤. 1.安装CD One 将CiscoWorks 2000 LMS CD ...