swift - swift 4中两个(“)符号之间的子字符串?

标签 swift substring

我在获取包含两个双引号 " 的字符串的子字符串时遇到问题。 例如:我的 desString 等于 ["39013"]

我需要得到:39013

但问题是当我在寻找 " 符号的索引时,Swift 将其视为普通代码,而不是特定字符。我该如何解决这个问题?

这不是重复的,在这个问题中他问的是 ' 符号,但我问的是 " ,当您打印特定值时它是类似的符号(对于示例:print("dup")。这意味着,当我尝试使用 index(of """) 查找 " 字符的索引时,有三个Xcode 说其中一个丢失了。实际上它并没有丢失,我正在寻找它。但这就是问题所在。

这是我使用 "[""]" 查找索引的代码。

let first = desString.index(of: "[") ?? desString.startIndex
let last = desString.index(of: " ") ?? desString.endIndex
let substring1 = desenString[first..<last]

最佳答案

纯属娱乐。首先,我认为值得一提的是,您应该使用 JSONSerialization 或使用 Codable 协议(protocol)来解析您的 JSON 数组。如果您想通过常规 String 搜索来接近它,您可以使用 index(of: Character) 来查找第一个匹配项,然后在子字符串中重复索引搜索找到第一个索引之后的索引:

let string = #"["39013"]"#

if let index = string.firstIndex(of: "\""),
    case let start = string.index(after: index),
    let end = string[start...].firstIndex(of: "\"") {
    let substring = string[start..<end]
    print(substring)   //  "39013\n"
}

关于swift - swift 4中两个(“)符号之间的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48736575/

相关文章:

swift - 无法更改 SCNCone 的颜色 - Scenekit

ios - 将 CAShapeLayer 代码从 iOS 转换为 OSX

Java 正则表达式字符串#replaceAll 替代

python - 正则表达式查找括号之间包含确切子字符串的整个子字符串

Java 和子字符串错误

swift - swift 中的并行编程是否消除了值类型优化?

ios - 如何检测应用程序的首次启动

ios - 在 Swift 中,如何编写一个函数在完成后触发另一个函数?

arrays - 使用字符串数组作为子字符串参数的 VBA InStr 函数 (Excel)

python - 读取一个单词并打印所有子字符串,在 Python 中按长度排序