#javascript #jquery
Вопрос:
У меня есть строка:
XXX - Test Text 1, OOO - Test Text 2, Dummy
Что я хочу сделать, так это вернуть эту строку как:
XXX,OOO,Dummy
Поэтому мне нужно удалить все (включая тире), но оставить строку разделенной запятой. Эта строка может содержать до 10 переменных.
Комментарии:
1. Пожалуйста, поделитесь тем, что вы пробовали до сих пор
Ответ №1:
Это не имеет ничего общего с jQuery, это просто собственный JavaScript. Что вы могли бы сделать, это разделить строку на каждую запятую. Затем разделите каждую часть -
символа и соедините все части вместе:
parsedString = "XXX - Test Text 1, OOO - Test Text 2, Dummy".split(',')
.map(part => part.split('-')[0].trim())
.join(',')
console.log(parsedString);
Ответ №2:
1) Сначала вы можете разделить строку, которая вернет массив строк
str.split(",")
2) используйте reduce, чтобы получить только начальную строку из всех строк в массиве, которая возвращается с 1-го шага
3) затем соедините их с ,
const str = "XXX - Test Text 1, OOO - Test Text 2, Dummy";
const result = str
.split(",")
.reduce((acc, curr) => {
let match = curr.match(/[a-z] /i);
if (match) acc.push(match[0]);
return acc;
}, [])
.join(",");
console.log(result);