удалить слово из строки
Много раз возникали такие ситуации, что надо удалить из строки какое-нибуль слово, но не разу не реализовывал, чем это лучше делать регулярными выражениями или replace методом, или ещё чем
Например из следующей строки str="dialogTitleCloseSpan image imageCloseButton dialogTitleCloseSpanOver dialogTitleCloseSpanOver"; Надо удалить dialogTitleCloseSpanOver; Извините за такой нелепый вопрос. |
alert(str.replace(/dialogTitleCloseSpanOver/g, '')); |
Kolyaj, а ничего, что
'aaa aaaa aa'.replace(/aaa/g, '')превращается в " a aa"? ЕМНИП, так: 'aaa aaaa aa'.replace(/\baaa\b/g, '') Ну или так: 'aaa aaaa aa'.replace(/(^|\s)aaa(\s|$)/g, '') |
e1f,
ничего :) alert(str.replace(/\bdialogTitleCloseSpanOver\b/g, '')); |
Цитата:
ТСу надо alert(str.replace(/(^|\s+)dialogTitleCloseSpanOver(\s+|$)/g, ' ')); |
Kolyaj,
'1aaa aaaa aa'.replace(/\baaa\b/g, '') |
e1f,
и что должно получиться? PeaceCoder, str = '111 dialogTitleCloseSpanOver dialogTitleCloseSpanOver 222'; alert(str.replace(/(^|\s+)dialogTitleCloseSpanOver(\s+|$)/g, ' ')); |
Kolyaj, очепятка.
'!aaa aaaa aa'.replace(/\baaa\b/g, '') Почему заменило то, что начинается с !? Для классов, которые наверняка собирается менять ТС, можно указывать так: 'a-aaa aaaa aa'.replace(/\baaa\b/g, '') Тоже не айс. |
Цитата:
|
Для этой задачи лучше всего подходит, имхо, то, как сделано в jQuery:
split по \s+, потом удаление тех классов, которые надо убрать, и join по ' ' |
Часовой пояс GMT +3, время: 14:41. |