Удаление пробелов из строки

Удаляем пробелы в JavaScript с помощью методов trim(), replace() и регулярных выражений

При разработке на часто возникает необходимость работать с текстовыми строками, которые могут содержать нежелательные пробелы. Пробелы могут появляться в начале, конце строки, или даже внутри текста. В этой статье мы рассмотрим различные способы удаления пробелов c помощью JavaScript.

Удаление пробелов в начале и конце строки

Одним из самых популярных методов для удаления пробелов в начале и конце строки является метод trim(). Он удаляет все пробелы в начале и конце строки, но не трогает пробелы внутри текста. Если необходимо удалить пробелы только в начале или конце строки, то можно использовать вариации метода trim():

  • trimStart() – удаляет только пробелы в начале строки.
  • trimEnd() – удаляет только пробелы в конце строки.
let str = "   Привет, мир!   ";
console.log(str.trim()); // "Привет, мир!"
console.log(str.trimStart()); // "Привет, мир!   "
console.log(str.trimEnd());   // "   Привет, мир!"

Удаление всех пробелов в строке

Иногда необходимо удалить все пробелы, включая пробелы внутри строки. Для этого можно использовать метод replace() с регулярным выражением: /\s+/g

  • \s – соответствует любому пробельному символу (пробел, табуляция, перенос строки и т.д.).
  • + – означает “один или более раз”.
  • g – глобальный флаг, который заставляет регулярное выражение работать со всей строкой.
let str = " Привет,   мир! ";
let result = str.replace(/\s+/g, '');
console.log(result); // "Привет,мир!"

Удаление лишних пробелов между словами

Если нужно удалить только лишние пробелы между словами (оставив по одному пробелу между ними), можно использовать такое решение:

let str = "Привет,    мир!    Как    дела?";
let result = str.replace(/\s+/g, ' ').trim();
console.log(result); // "Привет, мир! Как дела?"

Здесь мы заменяем несколько пробелов одним пробелом и используем trim(), чтобы удалить возможные пробелы в начале и конце строки.