一尘不染

有什么办法可以替换Swift String上的字符吗?

swift

我正在寻找一种替换Swift中字符的方法String

示例:“这是我的字符串”

我想用“ +”替换“”以获取“ This + is + my + string”。

我该如何实现?


阅读 331

收藏
2020-07-07

共1个答案

一尘不染

此答案已 针对Swift 4和5 进行了 更新 。如果您仍在使用Swift 1、2或3,请参阅修订历史记录。

您有两种选择。您可以按照@jaumard的建议进行操作并使用replacingOccurrences()

let aString = "This is my string"
let newString = aString.replacingOccurrences(of: " ", with: "+", options: .literal, range: nil)

而且,正如下面@cprcrack所指出的那样,optionsand
range参数是可选的,因此,如果您不想指定字符串比较选项或范围以在其中进行替换,则只需执行以下操作。

let aString = "This is my string"
let newString = aString.replacingOccurrences(of: " ", with: "+")

或者,如果数据采用特定格式,例如您要替换的分隔字符,则可以使用components()将字符串分成and数组的方式,然后可以使用join()函数将它们与指定的分隔符放回去。

let toArray = aString.components(separatedBy: " ")
let backToString = toArray.joined(separator: "+")

或者,如果您正在寻找不使用NSString API的更快速的解决方案,则可以使用它。

let aString = "Some search text"

let replaced = String(aString.map {
    $0 == " " ? "+" : $0
})
2020-07-07