8 votes

Convertir la représentation en chaîne d'un tuple sans nom en tuple

Je sais que cela pourrait être facile, mais je suis très novice en matière de Swift et j'ai besoin de toute l'aide possible.

J'ai une chaîne de caractères qui, lorsqu'elle est imprimée, s'affiche, "("Example 1", "Example 2")"
Maintenant, si je l'assigne à une variable, je ne peux pas appeler des éléments individuels dans le fichier tuple car il ne s'agit manifestement pas d'un tuple .

J'aimerais maintenant savoir s'il existe un moyen de convertir en un fichier tuple , peut-être avec JSONSerialization ?

J'ai essayé let array = try! JSONSerialization.jsonObject(with: data, options: []) as! Array<Any> ,
et cela fonctionne avec une chaîne de "["Example 1", "Example 2"]" mais pas un tuple, j'ai essayé de changer le paramètre [] en options: a () mais cela n'a pas fonctionné.

4voto

Mohammadalijf Points 1029

D'après ce que j'ai compris, vous voulez créer un tuple à partir d'une chaîne de caractères, qui ressemble elle aussi à un tuple. Il faut donc extraire des valeurs de cette chaîne et créer un tuple.

Voici une solution simple si vous êtes toujours sûr que le format est le même

func extractTuple(_ string: String) -> (String,String) {
     //removes " and ( and ) from the string to create "Example 1, Example 2"
    let pureValue = string.replacingOccurrences(of: "\"", with: "", options: .caseInsensitive, range: nil).replacingOccurrences(of: "(", with: "", options: .caseInsensitive, range: nil).replacingOccurrences(of: ")", with: "", options: .caseInsensitive, range: nil)

    let array = pureValue.components(separatedBy: ", ")
    return (array[0], array[1])
}

vous pouvez alors l'utiliser comme suit

let string = "(\"Example 1\", \"Example 2\")"
let result = extractTuple(string)
print(result)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X