Разбить массив по ; и ,?

143
27 декабря 2019, 20:10

Как разбить массив по точке с запятой ; и запятой с пробелом ,+space ?

Answer 1

Если вопрос действительно про массив:

Чтобы получить из массива строку воспользуйтесь методом Array.join():

let str = ['a', 'b', 'c'].join('');

Теперь, чтобы разбить строку на подстроки по интересующим Вас стмволам используйте метод String.split() с регулярным выражением /;|,\s+/, в котором:

; - точка с запятой

| - логическое или

,\s+ - запятая + любое кол во пробелов после

let splitted = str.split(/;|,\s+/);

Это даст на выходе массив строк, разбитый по интересующим Вас символам.

Если из полученных строк необходимо опять получить массивы символов, т.е. формат выходных данных - это массив массивов символов можно воспользоваться функцией Array.map()

let result = splitted.map(str => str.split(''));

let str = ["one;", "two,", " three;", "four,  ", "  five six seven"].join("");
let splitted = str.split(/;|,\s+/);
let result = splitted.map(str => str.split(''));
console.log(result);

Answer 2

var str = "The;walrus, and;the, carpenter, walked;for a mile or so"; 
var parts = str.replace(new RegExp(", ", "g"), ";").split(";"); 
console.log(JSON.stringify(parts));

READ ALSO
Как получить день недели js?

Как получить день недели js?

Как получить полное название дня недели?Такой код выводит всю дату,как можно вывести только день?

126
Как соединить части Redux приложения

Как соединить части Redux приложения

Пытаюсь сделать модульную структуру приложения с использованием React + Redux, где отдельные модули будут лежать в своих репозиториях (например,...

127
Как реализовать задержку timeout в Express.js при оброботке запроса?

Как реализовать задержку timeout в Express.js при оброботке запроса?

У меня есть функция оброботки пост запроса внутри которой я тестирую валидность 2 mail аккаунтов с помощью библиотеки emailjs-imap-client , подключаясь...

136