ios - 将字符串的一部分复制到另一个字符串

标签 ios swift

我必须解析这些类型的字符串:

let result1 = "t=20171017T1201&s=349.00&fn=8712000100030779&i=21456&fp=124519970&n=1"
let result2 = "t=20171016T180757&s=92.00&fn=8710000101140572&i=17711&fp=4191934636&n=1"

我需要以某种方式提取 tfn 参数并将它们保存到另一个字符串:

print(t1)    // 20171017T1201
print(fn1)   // 8712000100030779
print(t2)    // 20171016T180757
print(fn2)   // 8710000101140572

我设法通过逐个符号检查整个字符串来获取这些参数,但一定有更好的方法来做到这一点。

最佳答案

您需要使用 components(separatedBy: _) 将字符串拆分为可解析的对。

let result1 = "t=20171017T1201&s=349.00&fn=8712000100030779&i=21456&fp=124519970&n=1"
let result2 = "t=20171016T180757&s=92.00&fn=8710000101140572&i=17711&fp=4191934636&n=1"

func value(for name: String, in query: String) -> String? {
    for params in query.components(separatedBy: "&") {
        let pair = params.components(separatedBy: "=")
        if (pair.first == name) { 
            return pair.last
        }
    }
    return nil
}

print(value(for: "t", in: result1))
print(value(for: "fn", in: result1))
print(value(for: "t", in: result2))
print(value(for: "fn", in: result2))

关于ios - 将字符串的一部分复制到另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47073399/

相关文章:

ios - 如何处理 Firestore 查询结果供以后使用

iphone - 图片名称错误?

Swift:输入值时向 TableView 单元格添加操作

ios - 如何使用 Swift 2.0 在 Parse.com (REST API) 中上传图像并将其与用户关联

ios - UITableViewRowAction - 保留单元格的文本

ios - 使用 iOS SDK 获取具有特定扩展名的文件

ios - 通过协议(protocol)传递 self 会导致内存泄漏吗?

UITableViewCell "read more"内的 iOS UITextView 就像在现代 App Store 中一样

ios - 具有默认协议(protocol)实现的 Swift 枚举

macos - 在 NSTextView 上方更改 NSView 的 NSCursor