26.01.2010, 16:49
|
|
NodeJS developer - ушел
|
|
Регистрация: 06.01.2010
Сообщений: 1,022
|
|
удалить слово из строки
Много раз возникали такие ситуации, что надо удалить из строки какое-нибуль слово, но не разу не реализовывал, чем это лучше делать регулярными выражениями или replace методом, или ещё чем
Например из следующей строки
str="dialogTitleCloseSpan image imageCloseButton dialogTitleCloseSpanOver dialogTitleCloseSpanOver";
Надо удалить dialogTitleCloseSpanOver;
Извините за такой нелепый вопрос.
|
|
26.01.2010, 16:54
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
alert(str.replace(/dialogTitleCloseSpanOver/g, ''));
|
|
26.01.2010, 17:06
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Kolyaj, а ничего, что
'aaa aaaa aa'.replace(/aaa/g, '')
превращается в " a aa"?
ЕМНИП, так:
'aaa aaaa aa'.replace(/\baaa\b/g, '')
Ну или так:
'aaa aaaa aa'.replace(/(^|\s)aaa(\s|$)/g, '')
|
|
26.01.2010, 17:07
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
e1f,
ничего
alert(str.replace(/\bdialogTitleCloseSpanOver\b/g, ''));
|
|
26.01.2010, 17:09
|
|
Профессор
|
|
Регистрация: 15.12.2009
Сообщений: 742
|
|
Сообщение от e1f
|
Kolyaj, а ничего, что
|
вот и я сразу увидел.
ТСу надо
alert(str.replace(/(^|\s+)dialogTitleCloseSpanOver(\s+|$)/g, ' '));
|
|
26.01.2010, 17:09
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Kolyaj,
'1aaa aaaa aa'.replace(/\baaa\b/g, '')
|
|
26.01.2010, 17:33
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
e1f,
и что должно получиться?
PeaceCoder,
str = '111 dialogTitleCloseSpanOver dialogTitleCloseSpanOver 222';
alert(str.replace(/(^|\s+)dialogTitleCloseSpanOver(\s+|$)/g, ' '));
|
|
26.01.2010, 17:45
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Kolyaj, очепятка.
'!aaa aaaa aa'.replace(/\baaa\b/g, '')
Почему заменило то, что начинается с !? Для классов, которые наверняка собирается менять ТС, можно указывать так:
'a-aaa aaaa aa'.replace(/\baaa\b/g, '')
Тоже не айс.
|
|
26.01.2010, 17:47
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от e1f
|
Почему заменило то, что начинается с !?
|
А почему не должно было? Условий задачи никаких не было.
|
|
26.01.2010, 17:49
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Для этой задачи лучше всего подходит, имхо, то, как сделано в jQuery:
split по \s+, потом удаление тех классов, которые надо убрать, и join по ' '
|
|
|
|