Разделить строку с одним вхождением (не дважды )разделителя в Javascript

Это лучше объяснить на примере. Я хочу добиться такого разделения:

two-separate-tokens-this--is--just--one--token-another

->

["two", "separate", "tokens", "this--is--just--one--token", "another"]

Я наивно попробовал str.split(/-(?!-)/), и он не будет соответствовать первому вхождению двойных разделителей, но будет соответствовать второму (, так как за ним не следует разделитель):

["two", "separate", "tokens", "this-", "is-", "just-", "one-", "token", "another"]

Есть ли у меня лучшая альтернатива, чем перебор строки?

Кстати, следующим шагом должна быть замена двух последовательных разделителей только одним, так что это своего рода экранирование разделителя путем его повторения... Таким образом, окончательный результат будет таким:

["two", "separate", "tokens", "this-is-just-one-token", "another"]

Если это может быть достигнуто всего за один шаг, это должно быть действительно здорово!

6
задан fortran 13 August 2012 в 18:34
поделиться