Swift 的String库
·
Swift String 常用方法
字符串基础操作
创建字符串的多种方式:
let str1 = "Hello"
let str2 = String(repeating: "a", count: 3) // "aaa"
let str3 = String(describing: 123) // "123"
字符串拼接方法:
let combined = str1 + " " + "Swift" // "Hello Swift"
let appended = str1.appending("!") // "Hello!"
let interpolated = "\(str1), Swift!" // "Hello, Swift!"
获取字符串长度:
let count = str1.count // 5
let utf8Count = str1.utf8.count // 字节数
字符串查询与访问
字符访问方式:
let firstChar = str1.first!
let lastChar = str1.last!
let charAtIndex = str1[str1.index(str1.startIndex, offsetBy: 1)] // "e"
子字符串检查:
str1.contains("ell") // true
str1.hasPrefix("He") // true
str1.hasSuffix("llo") // true
字符串分割与组合
分割字符串方法:
let parts = "a,b,c".components(separatedBy: ",") // ["a", "b", "c"]
let lines = "line1\nline2".split(separator: "\n") // ["line1", "line2"]
合并字符串数组:
let joined = ["a", "b"].joined(separator: "-") // "a-b"
字符串修改
大小写转换:
let upper = str1.uppercased() // "HELLO"
let lower = str1.lowercased() // "hello"
去除空白字符:
let trimmed = " hello ".trimmingCharacters(in: .whitespaces) // "hello"
替换子串:
let replaced = str1.replacingOccurrences(of: "ell", with: "ipp") // "Hippo"
字符串遍历
字符遍历:
for char in str1 {
print(char)
}
带索引的遍历:
str1.enumerated().forEach { index, char in
print("\(index): \(char)")
}
字符串与集合转换
字符串转字符数组:
let charArray = Array(str1) // ["H", "e", "l", "l", "o"]
字符数组转字符串:
let newStr = String(charArray) // "Hello"
字符串编码
Unicode 标量访问:
for scalar in str1.unicodeScalars {
print(scalar.value)
}
编码转换:
let utf8Bytes = str1.utf8.map { $0 } // [72, 101, 108, 108, 111]
let utf16Codes = str1.utf16.map { $0 }
字符串格式化
数字格式化:
let formatted = String(format: "%.2f", 3.1415926) // "3.14"
let padded = String(format: "%05d", 42) // "00042"
正则表达式
iOS 16+ 正则支持:
if #available(iOS 16, *) {
let str = "123abc"
let matches = str.matches(of: /\d+/)
for match in matches {
print(match.0) // "123"
}
}
性能提示
处理大字符串时使用 Substring:
let substring = str1[...] // 共享原字符串内存
避免频繁拼接:
var builder = ""
(1...100).forEach { builder.append("\($0)") }
更多推荐


所有评论(0)