字符串数组中未终止的字符串文字错误 - Swift

Unterminated String Literal error in String Array - Swift

我正在重做数组中的文本字符串格式。我已将 lbft3 和 gcm3 更改为正确的 lb/ft³ 和 g/cm³。我已将所有内容格式化为与原始数组相同的格式,但由于某种原因,在数组的每一行上我都收到未终止的字符串文字错误。这似乎是因为它没有在每行末尾看到逗号。我试过删除 "special formatting" 像立方字符和斜杠,只留下数字和文本,但问题仍然存在。

我包含了每个数组的片段以供比较。

重新格式化的数组有问题:

    let materialData = [
        "Acetaminohen Powder, Unmilled    43 lb/ft³    0.688794 g/cm³”,
        "Acetylene Black, 100% Compressed    35 lb/ft³    0.560646 g/cm³”,
        "Acetylsalicyic Acid    20 lb/ft³    0.320369 g/cm³”,
        "Acrylamide    34 lb/ft³    0.54463 g/cm³”,
        "Acrylic Granules, Coarse    40 lb/ft³    0.64 g/cm³”,
    ]

没有问题的原始数组:

    let materialData = [
        "Acetaminohen Powder, Unmilled    43 lbft3    0.688794 gcm3",
        "Acetylene Black, 100% Compressed    35 lbft3    0.560646 gcm3",
        "Acetylsalicyic Acid    20 lbft3    0.320369 gcm3",
        "Acrylamide    34 lbft3    0.54463 gcm3",
        "Acrylic Granules, Coarse    40 lbft3    0.64 gcm3",
    ]

问题出在您的左引号和右引号上。一种是与另一种不同的格式。

" 对比

由于引号的格式不同,因此假定字符串未终止,因为第一个双引号不匹配。您可以在格式的末尾使用正则表达式,以确保将弯引号替换为直引号。像下面这样的东西应该可以工作。

string.replace('”','"')

您可以阅读有关不同格式的更多信息here

引用的格式问题 " 使用以下内容,错误将消失:

let materialData = ["Acetaminohen Powder, Unmilled    43 lb/ft³    0.688794 g/cm³",
    "Acetylene Black, 100% Compressed    35 lb/ft³    0.560646 g/cm³",
    "Acetylsalicyic Acid    20 lb/ft³    0.320369 g/cm³",
    "Acrylamide    34 lb/ft³    0.54463 g/cm³",
    "Acrylic Granules, Coarse    40 lb/ft³    0.64 g/cm³",
]