四.swift - string
来源:互联网 发布:js添加tr td 编辑:程序博客网 时间:2024/05/18 00:09
四.字符串
在 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? = 32str = "\(i ?? 0) 个 " + str1 + " " + str2
- 格式化字符串
- 在实际开发中,如果需要指定字符串格式,可以使用
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与String的转换
// 把 便是 截取出来
// 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)
// 把 便是 截取出来
// 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)
0 0
- 四.swift - string
- Swift-String
- Swift - String
- Swift String
- swift String
- swift String
- swift String相关
- Swift String length property
- swift String extension
- swift中string操作
- swift * 字符串-String
- Swift 字符串String
- swift string extension
- swift 学习<五> String
- Swift String Extension
- swift中操作string
- Swift String 扩展
- swift string转double
- Redis 配置
- <item> tag requires a 'drawable' attribute or child tag defining a drawab
- hdu5753Permutation Bo(排列问题)
- R语言科学计算
- PokemonGo完美度算法!是风姐还是松岛枫?--工地斗天地斗天马座
- 四.swift - string
- TextView 你真的懂我么
- HTML和css笔记
- 正确运行携程DynamicAPK
- MongoDB学习笔记(4)读写分离
- HDU 2141 Can you find it?(数组找数字,二分)
- HDU 3367
- intellijidal如何将一个普通的java项目转变成maven项目
- Redis 数据类型