@campus1

Как убрать лишнее пробелы?

Привет. У меня есть textarea со словами:
multi-line
multi - line (При добавл. в массив должно быть 2 слова)
text,sometext
text - sometext (При добавл. в массив должно быть 2 слова)


В результате я должен получить массив:
[multiline, multi, line, textsometext,  text, sometext]


Написал код:
let msg = document.getElementById("msg").value; //get value from textarea
let msgArr = msg.replace(/[\-,]/g, "").trim(); //change words
msgArr.split(/[\n\s+]/); //create array of words


Результат:
Array [ "multiline", "multi", "", "line", "textsometext", "text", "", "sometext" ]

То есть получается что у меня перед добавл. в массив multi line. Дефис убрался, а осталось 2 пробелы.
Вопрос: Как мне убрать лишний пробел?

P.S Пробовал \s+, но он учитывает все пробелы textarea и конвертирует все слова в 1.
  • Вопрос задан
  • 214 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const msgArr = msg.trim().replace(/[-,]/g, '').split(/\s+/);
Ответ написан
Stalker_RED
@Stalker_RED
let msgArr = msg.split(/[ \n\-,]/) // разбиваем по пробелам, запятым,
                                  // дефисам, переносам
  .map(w=>w.trim()) // убираем лишние пробелы
  .filter(w=>w.length) // отфильтровываем пустые
https://jsfiddle.net/sphk11g4/1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект