split

Divide un iterable de cadenas de un solo carácter según un carácter separador.

Iterable<String> split(String sep, Iterable<String> iterable) FxAsyncIterable<String> splitAsync(String sep, FxAsyncIterable<String> iterable)

Lección

split es un port directo del split carácter a carácter de FxTS, y eso se nota en su firma: no recibe un String en absoluto — recibe un Iterable<String> de caracteres sueltos, y lo recorre carácter a carácter, acumulando un fragmento hasta que ve uno igual a sep. En Dart, la forma idiomática de obtener ese iterable de caracteres es myString.split('') (el propio String.split de Dart con un patrón vacío descompone una cadena en sus caracteres individuales).

Un separador final produce una cadena vacía al final de la salida, igual que en FxTS — 'a,b,' se divide en ('a', 'b', ''), no solo en ('a', 'b'). No hay forma de cadena Fx para split; llama a la función de nivel superior (o a splitAsync) directamente.

Demo 1 · Fundamentos

Demo 2 · Asíncrono

Pruébalo tú

Ejercicio: usa split para descomponer csv en nombres de colores según '|'.

Relacionado: chunk — agrupa por tamaño fijo en lugar de por separador · unicodeToList — obtén un array de caracteres correcto (consciente de los grafemas) · join — la operación inversa