У меня есть эта строка:
foo = "moon is.white #small"
Я хочу преобразовать его в этот массив, используя такие правила, как после "." и "#" разделить и добавить &, если перед ним нет пробелов. Я получил ответ в этой теме: Как разделить строку с несколькими правилами в javascript , и это то, что я получил, и это здорово:
fooArr[0] = ['moon','is','&.white','#small']
Мой вопрос: как мне сделать другие вариации строки, чтобы получить массив с несколькими вариациями с этими правилами
A. разделить на разные позиции (иногда пробелы будут разделены, а иногда 2 слова и более будут рассматриваться как одно - во ВСЕХ вариациях (обратите внимание, что если я не разделю слова с помощью "." или "#", я не добавлю "&".
fooArr[1] = ['moon is','&.white','#small']
fooArr[2] = ['moon is.white','#small']
foorArr[3] = ['moon','is.white','#small']
etc...
B. Если там есть "." или "#", тогда я хочу, чтобы все варианты порядка между ними - ".all#is.good"
могут быть -> [.all#is.good] & [.all.good#is] & [.good.all#is]
и т. д. (и я хочу, чтобы это сочеталось с вариантами из первого правила, такими как [.all,&.good,&#is] & [.all.good,$#is]
), поэтому я будет иметь ВСЕ КОМБИНАЦИИ ОБА А И В
В конце концов мне нужен массив, объединяющий все комбинации A и B (он должен дать мне много вариаций: fooArr[0]..fooArr[X]
.
С чего начать?