Cadena dividida con una sola aparición (no dos veces) de un delimitador en Javascript
Esto se explica mejor con un ejemplo. Quiero lograr una división como esta:
two-separate-tokens-this--is--just--one--token-another
->
["two", "separate", "tokens", "this--is--just--one--token", "another"]
Lo intenté ingenuamentestr.split(/-(?!-)/)
y no coincidirá con la primera aparición de delimitadores dobles, pero coincidirá con el segundo (ya que no está seguido por el delimitador):
["two", "separate", "tokens", "this-", "is-", "just-", "one-", "token", "another"]
¿Tengo una alternativa mejor que recorrer la cadena?
Por cierto, el siguiente paso debería ser reemplazar los dos delimitadores consecutivos por solo uno, por lo que es como escapar al delimitador al repetirlo ... Por lo tanto, el resultado final sería el siguiente:
["two", "separate", "tokens", "this-is-just-one-token", "another"]
Si eso se puede lograr en un solo paso, ¡debería ser realmente increíble!