@Vadim1899

Как расставить пробелы у каждого символа |?

Привет!
Есть строка на входе: 'дрель| домофон|пила| топор |ручной молоток'
Нужно эту строку привести к формату 'дрель | домофон | пила | топор | ручной молоток', то есть чтобы слева и справа от | были пробелы.

Как вариант - сделать .split() строки по |, потом с помощью trim убрать все пробелы и потом с помощью join с разделителем " | " привести массив в строку обратно. Но выглядит решение как-то очень костыльно, плюс ко всему в примере "ручной молоток" пробел между словами исчезнет из-за trim().

Может есть какое-нибудь более изящное решение?
  • Вопрос задан
  • 85 просмотров
Решения вопроса 3
igor-fedorov
@igor-fedorov
Full Stack разработчик
На самом деле, ваше решение и есть верное.
Пробел в "ручной молоток" не исчезнет, потому что .trim() удаляет пробелы только с начала и конца строки.

Таким образом,

const string = 'дрель| домофон|пила| топор |ручной молоток';
const modifiedString = string.split('|').map((s) => s.trim()).join(' | ');

// "дрель | домофон | пила | топор | ручной молоток"


Как мне кажется, регулярные выражения в этой задаче будут лишними.
Ответ написан
WblCHA
@WblCHA
const newStr = str.replace(/\s*\|\s*/g, ' | ');
Ответ написан
kritskiy_a
@kritskiy_a
Frontend-developer
можно использовать replaceAll

let a = 'дрель| домофон|пила| топор |ручной молоток'

a = a.replaceAll(' ', '').replaceAll('|', ' | ')

console.log(a)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы