我正在寻找一种方法来替换 Swift 中的字符String。
String
示例:“这是我的字符串”
我想用“+”替换“”以获得“This+is+my+string”。
我怎样才能做到这一点?
此答案已 针对 Swift 4 & 5 进行了更新。如果您仍在使用 Swift 1、2 或 3,请查看修订历史记录。
你有几个选择。您可以按照@jaumard 的建议进行操作并使用replacingOccurrences()
replacingOccurrences()
let aString = "This is my string" let newString = aString.replacingOccurrences(of: " ", with: "+", options: .literal, range: nil)
正如下面@cprcrack 所指出的,optionsandrange参数是可选的,因此如果您不想指定字符串比较选项或范围以在其中进行替换,则只需要以下内容。
options
range
let aString = "This is my string" let newString = aString.replacingOccurrences(of: " ", with: "+")
或者,如果数据是这样的特定格式,您只是替换分隔字符,您可以使用components()将字符串分解为数组,然后您可以使用该join()函数将它们与指定的分隔符重新组合在一起.
components()
join()
let toArray = aString.components(separatedBy: " ") let backToString = toArray.joined(separator: "+")
或者,如果您正在寻找不使用 NSString 的 API 的更 Swifty 解决方案,您可以使用它。
let aString = "Some search text" let replaced = String(aString.map { $0 == " " ? "+" : $0 })