swift - 以替代格式追加字符

标签 swift

我有两个字符串需要合并。但我必须像下面的格式一样合并。

var a = "abc"
var b = "def"

我需要这样做:adbecf

只是一个正常的 a+b,我试过一些条件。但是无法解决。有什么想法吗?

更新:

let stringA = "abc"
 let stringB = "def"


func mergeStrings(a: String, b: String) -> String {

    let val = zip(a,b).reduce("") { (result, arg1) in
    let (char1, char2) = arg1
    return result + "\(char1)\(char2)"
}
return val
}

最佳答案

let a = "abc"
let b = "def"
let c = zip(a,b).reduce("") { (result, arg1) in
    let (char1, char2) = arg1
    return result + "\(char1)\(char2)"
}
print(c)//adbecf

简而言之

let c = zip(a,b).reduce("") { $0 + "\($1.0)\($1.1)" }
print(c)

使用 zip(::)两个不等长的字符串将以忽略剩余的字符串结束。

let a = "12345"
let b = "67"
let c = zip(a,b).reduce("") { $0 + "\($1.0)\($1.1)" }
print(c)//"1627"--> 345 is ignored

解决这个问题

if a.count > b.count {
    c = c + String(a[b.endIndex...])
} else if b.count > a.count {
    c = c + String(b[a.endIndex...])
}
print(c)//"1627345"

关于swift - 以替代格式追加字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56055596/

相关文章:

swift - 在 Swift 中枚举字典

swift - 结合 2 个 PublishSubject 并使用 Observable.combineLatest 发出

swift - UIImagePickerController 的 xcode 8.1 和 iOS 10.1.1 "[Generic] Creating an image format with an unknown type is an error"

swift - ZOHO CRM 未获得刷新 token 作为响应

ios - 重新定位超出屏幕框架的 View

swift - 如何将 AnyObject 转换为 NSTaggedPointerString?

swift - memcpy 与 swift 中结构的偏移量

ios - Swift 属性只有在存在 didSet 时才能正确设置(可以为空)

ios - 仅当在 View 内点击时才选择表格单元格

Swift 以编程方式设置 segues