我正在寻找一种替换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所指出的那样,optionsand range参数是可选的,因此,如果您不想指定字符串比较选项或范围以在其中进行替换,则只需执行以下操作。
options
range
let aString = "This is my string" let newString = aString.replacingOccurrences(of: " ", with: "+")
或者,如果数据采用特定格式,例如您要替换的分隔字符,则可以使用components()将字符串分成and数组的方式,然后可以使用join()函数将它们与指定的分隔符放回去。
components()
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 })