Очистка строки в 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, ‘ ‘);2,>
28 дек 2012 в 13:02
дей-но хорошее решение, а можно в словах? Я хочу понять а не тупо скопипастить, то что оно заменяет пробелы (если их 2 и более) одним пробелом это понятно, и то что g это модификатор включения переводов строк и табуляции тоже, да вот а только в самой регулярке они не указаны, они что сами собой пропадают?
Удаление пробелов из строки в 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(' ', '')); // => Этотекст,изкоторогомыхотимудалитьвсепробелы.