Saltar al contenido principal
eLearner.app
Módulo 7 · Lección 4 de 428/32 en el curso~10 min
Lecciones del módulo (4/4)

Split con regex

String.prototype.split(separator) accetta non solo una stringa fissa ma anche una regex come separatore. Diventa cosi' uno strumento potente per tokenizzare testo strutturato.

JS
'uno, due,tre  quattro'.split(/[,\s]+/);
// ["uno", "due", "tre", "quattro"]

La regex /[,\s]+/ matcha "una o piu' tra virgola o whitespace": split suddivide su qualsiasi delimitatore composto.

Casi tipici

  • CSV permissivo: text.split(/\s*,\s*/) per gestire spazi attorno alle virgole.
  • Tokenizer naive: text.split(/\s+/) per estrarre parole.
  • Mantenere il separatore: se la regex contiene gruppi catturanti, il contenuto dei gruppi viene incluso nell'array risultato.
JS
'a=1; b=2; c=3'.split(/(;)\s*/);
// ["a=1", ";", "b=2", ";", "c=3"]

Senza il gruppo () il punto-virgola sparirebbe. Con (;) lo conservi nel risultato.

Conservare i delimitatori nello split

Se inserisci i delimitatori all'interno di parentesi tonde di cattura, l'output di String.prototype.split includerà anche i separatori stessi all'interno dell'array finale, invece di scartarli.

Prova tu

Ejercicio#regex.m7.l4.e1
Intentos: 0Cargando...

Trova ogni separatore CSV permissivo: una virgola con eventuali spazi attorno. Cosi' potresti usarlo in split per tokenizzare la lista.

Cargando editor...
Mostrar pista

Usa \\s* prima e dopo la virgola per assorbire eventuali spazi opzionali.

Solución disponible después de 3 intentos

Esercizio di ripasso

Ejercicio#regex.m7.l4.e2
Intentos: 0Cargando...

Trova ogni separatore 'spazi o punto-e-virgola' (uno o piu'). Cosi' split tokenizzerebbe il testo come parole.

Cargando editor...
Mostrar pista

Combina \\s e ; in una classe [\\s;] con quantificatore +.

Solución disponible después de 3 intentos

Sfida aggiuntiva

Ejercicio#regex.m7.l4.e3
Intentos: 0Cargando...

Scrivi una regex da usare in uno split che separi i numeri tenendo anche gli operatori matematici `+`, `-`, `*`, `/` come elementi dell'array.

Cargando editor...
Mostrar pista

Racchiudi la classe di caratteri degli operatori matematici tra parentesi tonde di cattura per preservarli durante lo split.

Solución disponible después de 3 intentos