当前位置: 首页 > 面试题库 >

快速将一个字符串作为数组转换为字符串数组

白永昌
2023-03-14
问题内容

我有一个字符串:

"["word1","word2"]"

我想要一个简单的方法将其转换为实际的[String]

我能从中挖掘出的所有其他问题都与将int字符串转换为数组有关。

我试着做

Array(arrayLiteral: "["word1","word2"]")

但是我明白了

["[\"word1\",\"word2\"]"]

手动清理边缘并去除斜线似乎是我做错了什么。

我很好奇是否有一种简单的方法可以将字符串数组作为字符串转换为字符串数组。

即转换"["word1","word2"]"["word1","word2"]

解决方案 (感谢@Eric D)

    let data = stringArrayString.dataUsingEncoding(NSUTF8StringEncoding)

    var stringsArray:[String]!

    do
    {
        stringsArray = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [String]
    } catch
    {
        print()
    }

    print("Array is \(stringsArray)")

问题答案:

将您的“字符串数组”编码为数据,然后将此数据作为JSON解码为Swift数组。

像这样:

let source = "[\"word1\",\"word2\"]"

guard let data = source.dataUsingEncoding(NSUTF8StringEncoding),
    arrayOfStrings = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? [String] else {
        fatalError()
}

print(arrayOfStrings)  // ["word1", "word2"]
print(arrayOfStrings[1])  // "word2"


 类似资料:
  • 在Objective-C中,我使用了以下内容:

  • 问题内容: 如何快速将数组转换为 JSON 字符串?基本上,我有一个文本框,其中嵌入了一个按钮。按下按钮后,文本字段文本将添加到中。此外,我想将此数组转换为 JSON 字符串。 这是我尝试过的: 我也想使用我的方法返回 JSON 字符串。 问题答案: 就目前而言,您正在将其转换为数据,然后尝试将数据转换为JSON形式的对象(失​​败,不是JSON)并将其转换为字符串,基本上,您进行了一堆毫无意义的

  • 我正在使用Schembuf在带有套接字的计算机之间更改数据。要传输数据,我使用以下内容: 然而,我注意到Protobuf无法读取任何非int类型的接收数据(它将其分配给0)。果不其然,如果我不使用套接字,但试图用相同的代码片段返回消息,则会发生相同的情况: 我还指出: 那么,为什么我不能正确地将数据转换回字符串呢?如果这是一个参考问题,为什么protobuf不能读取字符数组数据或从字符数组转换的字

  • 我有一个购物车php页面,在那里我显示客户端产品。在同一页中,我有一个表单,可以将客户的个人详细信息(如姓名、姓氏等)以及产品信息(如产品名称、数量等)直接发送到我的电子邮件地址。 现在,问题是,当我发送表单时,在我的电子邮件地址上,我收到了所有的信息,但没有产品细节,例如在订单电子邮件中的产品名称字段,我有ARRAY。 我看到将数组转换为字符串时出现问题,但我不知道如何转换,我尝试了几个示例,但

  • 问题内容: 我有一个映射到Swift的C函数定义为: 我正在尝试传递函数的路径并尝试过: 但是在path [i]上我得到了错误: ‘下标’不可用:不能下标Int范围的字符串 也不 也不管用 除了无法正常工作外,我认为还必须有一种更好,更轻松的方法来做到这一点。以前使用CString在StackOverflow上的答案似乎不再起作用。有什么建议? 问题答案: 使用CString在StackOverf

  • 假设我有以下数组列表: 并且必须遵守规则: 从数组列表 1 开始,我想形成新的以下数组列表: <李>猫狗 <李>鼠蛇 无论如何都可以这样做。我目前还没有找到任何字符串到字符串转换的内容。