Cómo dividir una cadena (String o &str) en partes en Rust
¡Hola a todos! Acabo de empezar a aprender Rust y me encontré con una tarea que en otros lenguajes (como Python o JavaScript) se resuelve con una sola línea. Necesito dividir una cadena por un delimitador, por ejemplo, un espacio o una coma, y obtener un array o vector con las partes.
Esto es lo que intento hacer:
```rust
let text = "apple,banana,grape";
// Quiero obtener ["apple", "banana", "grape"]
```
He probado a usar el método `.split()`, pero devuelve un iterador, no un array. Cuando intento recolectar el resultado en un vector con `.collect()`, el compilador se queja de los tipos. Además, no entiendo cuál es la diferencia entre `String` y `&str` al dividir: ¿tienen métodos diferentes? ¿Y qué hacer si la cadena contiene caracteres Unicode (por ejemplo, cirílico)? ¿Funcionará `.split()` correctamente?
Por favor, indíquenme cómo dividir una cadena de manera correcta y eficiente. Preferiblemente con ejemplos de código para los casos más comunes: división por un solo carácter, por una subcadena, y cómo obtener luego un vector de strings o slices. Gracias.