ho stringhe comeSplit a singolo separatore di occorrenza
A_B_C_D
A_B___C_D
dove il ___
potrebbe essere ovunque nella stringa.
Qual è il modo più semplice per dividerli in un singolo _
ma non in ___
?
ho stringhe comeSplit a singolo separatore di occorrenza
A_B_C_D
A_B___C_D
dove il ___
potrebbe essere ovunque nella stringa.
Qual è il modo più semplice per dividerli in un singolo _
ma non in ___
?
>>> "A_B_C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B", "C", "D"]
>>> "A_B___C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B___C", "D"]
Invece di trovare i separatori, troviamo i componenti stessi. Si noti che le stringhe devono essere o non _
(poiché il separatore è _
) o più di uno _
s. Quindi la regex per abbinarli è semplicemente così.
Si noti che questa regex ignora le stringhe vuote se l'ingresso inizia o finisce con _
(ad esempio "_a_"
sarà solo tornare ["a"]
.)
così che cosa significa il risultato sembra quando contiene '' ___? – Joseph
Man mano che vengono generate le chiavi, questo non è possibile. –