Перейти к содержимому

Как убрать пробелы в строке js

  • автор:

Очистка строки в javascript: удаление пробелов, табуляции

Возможно ли очистить строку, удалив повторяющиеся пробелы, табуляцию и переводы строки, в общем чтобы была строка такой:

var str = "test test test test"; 

а стала такой

var str = "test test test test"; 

Я знаю $.trim в jQuery для этого, но он то удалит просто пробелы в конце и в начале строки. Может плагин есть какой, или функция?

Отслеживать
371 1 1 золотой знак 5 5 серебряных знаков 13 13 бронзовых знаков
задан 28 дек 2012 в 12:45
2,711 15 15 золотых знаков 54 54 серебряных знака 87 87 бронзовых знаков
У меня на перевод строки в таком виде javascript ругается, а у вас нет?
28 дек 2012 в 12:53

У меня тоже, но это когда явно строку пишешь в переменную, а у меня так получилось что оно у меня туда по ходу скрипта попадает, со всеми вытекающими.

28 дек 2012 в 13:08

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

"test test test".replace(/\s/g, ' '); 

Отслеживать
ответ дан 28 дек 2012 в 12:54
Zhukov Roman Zhukov Roman
9,085 15 15 серебряных знаков 26 26 бронзовых знаков
Я самую малость дополнил бы: str.replace(/[\s<2,>]+/g, ‘ ‘);
28 дек 2012 в 13:02

дей-но хорошее решение, а можно в словах? Я хочу понять а не тупо скопипастить, то что оно заменяет пробелы (если их 2 и более) одним пробелом это понятно, и то что g это модификатор включения переводов строк и табуляции тоже, да вот а только в самой регулярке они не указаны, они что сами собой пропадают?

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

Representing string trimming in JavaScript.

Проблема, с которой часто сталкиваются начинающие разработчики на JavaScript, это необходимость удалить все пробелы в начале и в конце строки. Эта операция также известна как «обрезка» строки (trimming).

Примером может быть следующий код:

let str = " Привет, мир! ";

В этом случае, если вывести значение переменной str , то в начале и в конце строки будет по три пробела. Но что если нужно отобразить строку без этих пробелов?

JavaScript предоставляет удобный метод trim() , который удаляет все пробелы в начале и в конце строки. Этот метод не влияет на исходную строку, а возвращает новую строку уже без пробелов.

Вот как это работает:

let str = " Привет, мир! "; let trimmedStr = str.trim(); console.log(trimmedStr); // "Привет, мир!"

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

Помимо этого, в JavaScript есть еще два полезных метода: trimStart() и trimEnd() , которые удаляют пробелы только в начале или только в конце строки соответственно.

let str = " Привет, мир! "; let startTrimmedStr = str.trimStart(); let endTrimmedStr = str.trimEnd(); console.log(startTrimmedStr); // "Привет, мир! " console.log(endTrimmedStr); // " Привет, мир!"

Таким образом, JavaScript предоставляет несколько удобных методов для работы со строками и удаления из них лишних пробелов.

String.prototype.trim()

Метод trim() удаляет пробельные символы с начала и конца строки. Пробельными символами в этом контексте считаются все собственно пробельные символы (пробел, табуляция, неразрывный пробел и прочие) и все символы конца строки (LF, CR и прочие).

Синтаксис

str.trim()

Описание

Метод trim() возвращает строку с вырезанными пробельными символами с её концов. Метод trim() не изменяет значение самой строки.

Примеры

Пример: использование метода trim()

Следующий пример покажет строку ‘foo’ :

var orig = " foo "; console.log(orig.trim()); // 'foo' // Другой пример, в котором .trim() убирает пробельные символы только с одной стороны. var orig = "foo "; console.log(orig.trim()); // 'foo' 

Полифил

Запуск следующего кода до любого другого создаст метод trim() , если он ещё не реализуется браузером.

if (!String.prototype.trim)  (function ()  // Вырезаем BOM и неразрывный пробел String.prototype.trim = function ()  return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); >; >)(); > 

Спецификации

Specification
ECMAScript Language Specification
# sec-string.prototype.trim

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • String.prototype.trimLeft() Non-standard
  • String.prototype.trimRight() Non-standard

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 7 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.

как убрать пробелы в строке js

Для удаления пробелов только в начале и в конце строки существует метод trim() :

const str = ' some text '; console.log(str.trim()); // => some text 

Если же надо удалить вообще все пробелы, можно воспользоваться методом replaceAll() , передав ему первым аргументом пробел ‘ ‘ , а вторым — пустую строку » :

const text = ' Это текст, из которого мы хотим удалить все пробелы . '; console.log(text.replaceAll(' ', '')); // => Этотекст,изкоторогомыхотимудалитьвсепробелы. 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *