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

 

最新文章

  1. python import cv2 出错:cv2.x86_64-linux-gnu.so: undefined symbol
  2. 修改加粗cmd和powershell命令行的中文字体
  3. BZOJ 1030 【JSOI2007】 文本生成器
  4. CSS + DIV 让页脚始终保持在页面底部
  5. 【转】SQL Server sql_variant 类型的比较
  6. mybatis随意sql语句
  7. thinkphp 分组
  8. soliworks三维机柜布局(四)进入solidworks中三维布线
  9. linux下神奇的script命令
  10. (转载)Total Commander 常用快捷键(并附快捷键大全)
  11. View转化为bitmap
  12. BZOJ1123: [POI2008]BLO
  13. VB读写Excel
  14. ubuntu高版本环境变量问题
  15. linux查看与开启ssh
  16. ffmpeg参数说明
  17. Sublime Text3激活
  18. 微信小程序如何发送短信验证码,无需搭建服务器
  19. EasyPOI校验实现返回错误信息及行号
  20. 【翻译】七个习惯提高Python程序的性能

热门文章

  1. nagios监控linux设置
  2. 一款APP从设计稿到切图过程全方位揭秘 Mark
  3. U盘安装RedHat 5.3
  4. poj 1005 I Think I Need a Houseboat
  5. 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误
  6. 学生成绩管理系统 1.0(Java+MySql)
  7. 第三百二十六天 how can I 坚持
  8. 使用CXF发布WebService服务简单实例
  9. 用shell求两个文件的差集
  10. POJ1384Piggy-Bank(DP)