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

示例:"这是我的字符串"

我想将""替换为"+"以获得"This+is+my+字符串".

我怎样才能做到这一点?

推荐答案

答案是updated for Swift 4 & 5.如果您仍在使用Swift 1、2或3,请查看修订历史记录.

你有几个 Select .你可以使用as @jaumard suggestedreplacingOccurrences()

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

正如下面@cprcrack所指出的,optionsrange参数是可选的,所以如果不想指定字符串比较选项或范围来进行替换,只需要以下内容.

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

或者,如果数据是这样一种特定的格式,只需替换分隔符,可以使用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
})

Swift相关问答推荐

在运行时检测蒸汽工人的类型

如何将图像插入到矩形中

我可以在预览中通过拖动手势跳转,但在模拟器中失败

如何异步返回视图?什么?

KMM-Swift铸造密封类

If 语句在 Swift 中有 2 个日期

我怎样才能缩短(提高效率)这段代码?

从 iPhone 中的安全飞地获取真正的随机数?

状态变量更改后,SwiftUI 视图不会更改

如何在 SwiftUI 的 fileImporter 中为 allowedContentTypes 设置 xcodeproj 类型?

为什么更改属性后动画会加速? SwiftUI

判断 Swift 程序是否正在输出到终端

使用 Swift 在 iOS 8 中为应用程序图标添加徽章

如何在Swift中找出字母是字母数字还是数字

为什么'nil' 与 Swift 3 中的 'UnsafePointer' 不兼容?

在 Swift 中为 UIPickerView 设置默认值?

在 Swiftui 中是否有一种简单的方法可以通过捏合来放大图像?

UISearchbar TextField 的高度可以修改吗?

Swift中方法的弃用和其他属性,如何?

如何将多个枚举值作为函数参数传递