Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   ПОМОГИТЕ УДАЛИТЬ ПРОБЕЛЫ (https://javascript.ru/forum/events/39103-pomogite-udalit-probely.html)

Brook 16.06.2013 00:03

ПОМОГИТЕ УДАЛИТЬ ПРОБЕЛЫ
 
Доброго времени суток....

Даже как то стыдно писать, но я столкнулся с небольшой проблемой ->
но из теста (пример: "мама мыла раму " или " мама мыла раму") = удалить пробелы = НЕ ВСЕ = а те которые спереди и сзади текста - тоесть многократно повторяющиеся.

сам пробовал через .replace(/\s{2,}/gm,'') но как сами понимаете - не выходит нифига вот так (((

Пожалуйста, помогите и заранее СПАСИБО.:thanks:

devote 16.06.2013 00:11

alert("    мама мыла раму   ".replace(/^\s+|\s+$/g, ''));

devote 16.06.2013 00:13

в новой версии EcmaScript есть метод trim
alert("    мама мыла раму   ".trim());

monolithed 16.06.2013 00:14

alert("    мама мыла раму   ".trim());

monolithed 16.06.2013 00:14

devote,
:)

devote 16.06.2013 00:15

кросс браузерный trim

if (!String.prototype.trim) {
    String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g, '');
    }
}

monolithed 16.06.2013 00:16

А вообще:

alert("    мама мыла раму   ".replace(/^\s+|\s+$/g, ''));

monolithed 16.06.2013 00:16

Цитата:

Сообщение от devote
кросс браузерный trim

ну это ты так думаешь )

Brook 16.06.2013 00:16

.... мля = я лох...
ВСЕМ СПАСИБО


тема закрыта

monolithed 16.06.2013 00:17

devote,
кто-то из нас телепат )

devote 16.06.2013 00:18

Цитата:

Сообщение от monolithed
кто-то из нас телепат )

в смысле?:)

Brook 16.06.2013 00:19

кстати а почему такой вариант не прокатил replace(/\s{2,}/g,'') ??

monolithed 16.06.2013 00:20

ты сперва написал какую-то регулярку, а пока я писал trim(), ты его уже добавил, потом я решил попровить твою регу, но ты ее тоже поправил )

monolithed 16.06.2013 00:20

Цитата:

Сообщение от Brook
кстати а почему такой вариант не прокатил replace(/\s{2,}/g,'') ??

так пробелы по краям не удалить, за то можно удалить лишнее

alert([
    " мама мыла раму ".replace(/\s{2,}/g, '').length,
    " мама мыла раму ".length
]);

devote 16.06.2013 00:21

monolithed,
ну я что-то по началу тупнул, а потом тока это понял)))

Brook 16.06.2013 00:21

.... но это чертень вообще ничего не сносила (((

Brook 16.06.2013 00:23

написал отдельным репом и сработало .... - и вправду лох

devote 16.06.2013 00:23

Цитата:

Сообщение от Brook
.... но это чертень вообще ничего не сносила (((

твоя рега сносила бы два и более найденых пробела в одном вхождении... в твоей строке все пробелы по одной штуке:
" мама мыла раму "

вот такую строку:
"     мама     мыла     раму     "

твоя рега превратит в такую:
" мама мыла раму "


Часовой пояс GMT +3, время: 01:23.