四.swift - string
2016-07-27 10:16
260 查看
四.字符串
在 Swift 中绝大多数的情况下,推荐使用String类型
String 是一个结构体,性能更高
String 目前具有了绝大多数 NSString 的功能
String 支持直接遍历
NSString 是一个 OC 对象,性能略差
Swift 提供了
String和
NSString之间的无缝转换
字符串演练
遍历字符串中的字符for s in str.characters {
print(s)
}
字符串长度
// 返回以字节为单位的字符串长度,一个中文占 3 个字节
let len1 = str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) // 返回实际字符的个数 let len2 = str.characters.count // 返回 utf8 编码长度
let len3 = str.utf8.count
字符串拼接
直接在 "" 中使用
\(变量名)的方式可以快速拼接字符串
对字符串更多的进行拼接
let str1 = "Hello"
let str2 = "World" let i = 32
str = "\(i) 个 " + str1 + " " + str2
我和我的小伙伴再也不要考虑
stringWithFormat了 :D
可选项的拼接
如果变量是可选项,拼接的结果中会有
Optional
为了应对强行解包存在的风险,苹果提供了
??操作符
??操作符用于检测可选项是否为
nil
如果不是
nil,使用当前值
如果是
nil,使用后面的值替代
let str1 = "Hello" let str2 = "World" let i: Int? = 32 str = "\(i ?? 0) 个 " + str1 + " " + str2
[/code]
格式化字符串
在实际开发中,如果需要指定字符串格式,可以使用
String(format:...)的方式
let h = 8
let m = 23 let s = 9 let timeString = String(format: "%02d:%02d:%02d", arguments: [h, m, s])
let timeStr = String(format: "%02d:%02d:%02d", h, m, s)
String & Range 的结合
NSString与[b]String的转换[/b]
//
把
便是
截取出来
// OC里的截取方法
--
通过 (str2 as NSString)
把
Swift中的String转换成了
NSString,就可以调用OC里的方法了
let subStr = (str2
as
NSString).substringWithRange(NSMakeRange(4,
1))
print(subStr)
// 再来说swift中的截取
// "你好你好"
只是作为一个占位符
let startIndex =
"你好你好".endIndex
let endIndex =
"你若安好便是".endIndex
//
你若安好便是晴天
let swiftSubString = str2.substringWithRange(startIndex..<endIndex)
print(swiftSubString)
相关文章推荐
- 二.swift的基本语法
- iOS UITextView(swift语言)
- MJRefresh刷新的swift版写法
- Swift基础(二十六)UIWebView
- swift 自定义Modal动画
- swift 闭包的使用
- swift 单例的使用
- swift3.0 hello swift(1)
- 一.swift和OC的比较
- iOS 的本地推送(swift实现)
- Swift 给图片添加水印
- 是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍
- swift 版本 无限滚动Banner条
- tableviewcell 单个选中状态(swift)
- Swift 版本相册,防微信相册
- Swift基础(二十五)UIPageControl
- OC 与Swift混合开发之相互调用
- Swift weakSelf 在闭包语法
- Swift基础(二十四)UIScrollView
- Swift-Switch穿透