1. Метод замены строки()

Чтобы удалить все пробелы из строки в JavaScript, вызовите метод replaceAll() для строки, передав строку, содержащую пробел, в качестве первого аргумента и пустую строку ('') в качестве второго. Например, str.replaceAll(' ', '') удаляет все пробелы из str.

const str = 'A B C';
const allSpacesRemoved = str.replaceAll(' ', '');
console.log(allSpacesRemoved); // ABC

Метод String replaceAll() возвращает новую строку, в которой все совпадения шаблона заменены заменой. Первый аргумент — это шаблон для сопоставления, а второй аргумент — замена. Итак, передача пустой строки в качестве второго аргумента заменяет все пробелы ничем, что удаляет их.

Примечание

Строки в JavaScript неизменяемы, и replaceAll() возвращает новую строку без изменения исходной.

const str = 'A B C';
const allSpacesRemoved = str.replaceAll(' ', '');
console.log(allSpacesRemoved); // ABC
// Original not modified
console.log(str); // A B C

2. Метод замены строки () с регулярным выражением

Кроме того, мы можем удалить все пробелы из строки, вызвав метод replace() для строки, передав регулярное выражение, соответствующее любому пробелу, в качестве первого аргумента и пустую строку ('') в качестве второго.

const str = 'A B C';
const allSpacesRemoved = str.replace(/ /g, '');
console.log(allSpacesRemoved); // ABC

Мы используем флаг регулярного выражения g, чтобы указать, что все пробелы в строке должны совпадать. Без этого флага будет сопоставлено и заменено только первое пространство:

const str = 'A B C';
// No 'g' flag in regex
const spacesRemoved = str.replace(/ /, '');
// Only first space removed
console.log(spacesRemoved); // AB C

Метод String replace() возвращает новую строку, в которой все совпадения заменены вторым переданным ему аргументом. Мы передаем пустую строку в качестве второго аргумента, чтобы заменить все пробелы ничем, что удалит их.

Примечание

Как и в случае с replaceAll(), replace() возвращает новую строку без изменения исходной.

const str = 'A B C';
const spacesRemoved = str.replace(/ /g, '');
console.log(spacesRemoved); // ABC
// Original not modified
console.log(str); // A B C

Кончик

Указанное нами регулярное выражение соответствует только пробелам в строке. Чтобы сопоставить и удалить все пробельные символы (пробелы, табуляции и символы новой строки), нам придется использовать другое регулярное выражение:

const str = 'A B C \t D \n E';
const whitespaceRemoved = str.replace(/\s/g, '');
console.log(whitespaceRemoved); // ABC

Обновлено на: codingbeautydev.com

Все сумасшедшие вещи, которые делает JavaScript

Увлекательное руководство по тонким предостережениям и менее известным частям JavaScript.

Зарегистрируйтесь и немедленно получите бесплатную копию.