Swift2.0 中的String(一):常用属性
2024-10-18 22:27:37
字符串算是平常用的比较多、花样也比较多的一个类型,昨天有空把相关的一些常用操作都写了一遍,总结出来。其实iOS里面的字符串更复杂,还有NSString系列等等,那些API太多将来需要用的时候再慢慢学。这个系列目前写了三篇,这篇是第一部分,String的一些常用属性。其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P):
- Swift2.0 中的String(一):常用属性
- Swift2.0 中的String(二):基本操作
- Swift2.0 中的String(三):类型转换
- 编码转换(TBD)
我的练习源代码可以在 这里
看到
判断是否为空
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)
最新文章
- python import cv2 出错:cv2.x86_64-linux-gnu.so: undefined symbol
- 修改加粗cmd和powershell命令行的中文字体
- BZOJ 1030 【JSOI2007】 文本生成器
- CSS + DIV 让页脚始终保持在页面底部
- 【转】SQL Server sql_variant 类型的比较
- mybatis随意sql语句
- thinkphp 分组
- soliworks三维机柜布局(四)进入solidworks中三维布线
- linux下神奇的script命令
- (转载)Total Commander 常用快捷键(并附快捷键大全)
- View转化为bitmap
- BZOJ1123: [POI2008]BLO
- VB读写Excel
- ubuntu高版本环境变量问题
- linux查看与开启ssh
- ffmpeg参数说明
- Sublime Text3激活
- 微信小程序如何发送短信验证码,无需搭建服务器
- EasyPOI校验实现返回错误信息及行号
- 【翻译】七个习惯提高Python程序的性能
热门文章
- nagios监控linux设置
- 一款APP从设计稿到切图过程全方位揭秘 Mark
- U盘安装RedHat 5.3
- poj 1005 I Think I Need a Houseboat
- 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误
- 学生成绩管理系统 1.0(Java+MySql)
- 第三百二十六天 how can I 坚持
- 使用CXF发布WebService服务简单实例
- 用shell求两个文件的差集
- POJ1384Piggy-Bank(DP)