Avatar ·

Comment diviser une chaîne (String ou &str) en parties en Rust ?

Bonjour à tous ! Je viens de commencer à apprendre Rust et j'ai rencontré une tâche qui, dans d'autres langages (par exemple Python ou JavaScript), se résout en une seule ligne. J'ai besoin de diviser une chaîne par un séparateur, par exemple un espace ou une virgule, et d'obtenir un tableau ou un vecteur avec les parties. Voici ce que j'essaie de faire : ```rust let text = "apple,banana,grape"; // Je veux obtenir ["apple", "banana", "grape"] ``` J'ai essayé d'utiliser la méthode `.split()`, mais elle retourne un itérateur, pas un tableau. Quand j'essaie de collecter le résultat dans un vecteur avec `.collect()`, le compilateur se plaint des types. De plus, je ne comprends pas la différence entre `String` et `&str` lors de la division — ont-ils des méthodes différentes ? Et que faire si la chaîne contient des caractères Unicode (par exemple, du cyrillique) ? Est-ce que `.split()` fonctionnera correctement ? S'il vous plaît, dites-moi comment diviser une chaîne correctement et efficacement. Idéalement avec des exemples de code pour les cas les plus courants : division par un seul caractère, par une sous-chaîne, et comment obtenir ensuite un vecteur de chaînes ou de slices. Merci d'avance.