javascript - Dividir en una sola ocurrencia del separador
Tengo cadenas como
A_B_C_D
A_B___C_D
donde el ___ podría estar en cualquier parte de la cadena.
¿Cuál es la manera más fácil de dividirlos en cualquier _ individual pero no en ___?
Respuesta #1
>>> "A_B_C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B", "C", "D"]
>>> "A_B___C_D".match(/(?:[^_]|_{2,})+/g)
["A", "B___C", "D"]
En lugar de encontrar los separadores, encontramos los componentes en sí mismos. Observa que las cadenas deben ser o bien no tener _s (porque el separador es _), o tener más de un _. Así que la expresión regular para coincidir con ellos es simplemente así.
Tenga en cuenta que este regex ignora las cadenas vacías si la entrada comienza o termina con _ (por ejemplo, "_a_" solo devolverá ["a"]).
