è possibile effettuare un'espressione regolare con più delimitatori? Ad esempio, voglio dividere una stringa che può venire in due forme: 1. "stringa1, stringa2, stringa3" o 2. "stringa1, stringa2, stringa3". Ho cercato di farlo in javascript ma senza risultati fino ad ora.espressioni regolari per virgola seguita da spazio o solo virgola
risposta
Basta usare un espressione regolare split()
:
var string = "part1,part2, part3, part4, part5",
components = string.split(/,\s*/);
Il motivo per cui ho utilizzato *
anziché ?
è semplicemente perché non consente spazi vuoti o molti spazi bianchi. Considerando che lo ?
corrisponde allo zero-o-uno spazio bianco (che è esattamente quello che hai chiesto, ma anche così).
Per inciso, se ci potrebbe eventualmente essere gli spazi vuoti che precedono la virgola, allora potrebbe essere opportuno che modifica la split()
regex per:
var string = "part1,part2 , part3, part4, part5",
components = string.split(/\s*,\s*/);
console.log(components);
Che divide la stringa fornita su zero o più spazi bianchi seguita da una virgola seguita da zero o più spazi bianchi. Questo, ovviamente, potrebbe essere del tutto inutile.
Riferimenti:
@DanielV :: +1 :: Questa soluzione è quella che dovrebbe essere accettata, poiché la stringa di input può essere ad esempio 'stringa1, stringa2, stringa3, stringa4, stringa5' e Il codice di Silva non ce l'avrebbe fatta. –
Sì, rendono lo spazio bianco (\s
) opzionale con ?
:
var s = "string1,string2,string3";
s.split(/,\s?/);
funziona alla grande, grazie. accetterò la risposta non appena mi consentirà di – DVM
Oltre a silva
nel caso in cui si dispone di dubbio che essa può avere più di uno spazio quindi utilizzare (o nessuno spazio)
var s = "string1, string2, string3";
s.split(/,\s*/);
- 1. Uso di espressioni regolari per verificare l'utilizzo della virgola
- 2. virgola decimale o virgola decimale in Android
- 3. Espressioni regolari - Spazio vuoto corrispondente
- 4. spazio PEP8 dopo una virgola
- 5. Tasti comando virgola virgola
- 6. Espressioni regolari Python O
- 7. Ripetizioni separate da virgola
- 8. Raschia schermo: espressioni regolari o espressioni XQuery?
- 9. MySql REGEXP per abbinare due separati da virgola stringhe
- 10. Sostituisci, (virgola) per. (Punto) e. (Punto) per, (virgola)
- 11. Elenco separati da virgola con "e" al posto dell'ultima virgola
- 12. Regex per numero separato da virgola
- 13. Le espressioni regolari corrispondono al numero in virgola mobile ma non intero
- 14. Libreria per virgola mobile in virgola mobile Math in .NET
- 15. Come usare espressioni regolari per valuta
- 16. Operatore virgola C
- 17. Rimuovi l'ultima virgola da una stringa
- 18. Rubino diviso per virgola che assorbe lo spazio finale
- 19. cmd- virgola per separare i parametri Rispetto allo spazio?
- 20. Espressioni regolari (staffe normali o annidate)
- 21. Numeri separati da virgola Regex
- 22. separazione valori separati da virgola
- 23. DB2 uscita separata da virgola
- 24. Comprendere le espressioni regolari
- 25. Validatore di espressioni regolari per lettere e numeri solo
- 26. regex per numero intero o numero a virgola mobile con due decimali
- 27. Forzatura per eseguire calcoli in virgola mobile
- 28. Estrarre numeri da una stringa utilizzando espressioni regolari e regolari
- 29. Algoritmo per le espressioni regolari - combinazioni su o
- 30. Converti virgola mobile in virgola mobile (SQL Server)
Vuoi dire ', \ s *'? – GolezTrol
Che ne dici di ', \ s |,'? Abbinerà solo uno spazio. – boring