Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2010, 16:49
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

удалить слово из строки
Много раз возникали такие ситуации, что надо удалить из строки какое-нибуль слово, но не разу не реализовывал, чем это лучше делать регулярными выражениями или replace методом, или ещё чем
Например из следующей строки
str="dialogTitleCloseSpan image imageCloseButton dialogTitleCloseSpanOver dialogTitleCloseSpanOver";

Надо удалить dialogTitleCloseSpanOver;
Извините за такой нелепый вопрос.
Ответить с цитированием
  #2 (permalink)  
Старый 26.01.2010, 16:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

alert(str.replace(/dialogTitleCloseSpanOver/g, ''));
Ответить с цитированием
  #3 (permalink)  
Старый 26.01.2010, 17:06
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 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, '')
Ответить с цитированием
  #4 (permalink)  
Старый 26.01.2010, 17:07
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

e1f,
ничего

alert(str.replace(/\bdialogTitleCloseSpanOver\b/g, ''));
Ответить с цитированием
  #5 (permalink)  
Старый 26.01.2010, 17:09
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от e1f
Kolyaj, а ничего, что
вот и я сразу увидел.
ТСу надо
alert(str.replace(/(^|\s+)dialogTitleCloseSpanOver(\s+|$)/g, ' '));
Ответить с цитированием
  #6 (permalink)  
Старый 26.01.2010, 17:09
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Kolyaj,
'1aaa aaaa aa'.replace(/\baaa\b/g, '')
Ответить с цитированием
  #7 (permalink)  
Старый 26.01.2010, 17:33
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

e1f,
и что должно получиться?

PeaceCoder,
str = '111 dialogTitleCloseSpanOver dialogTitleCloseSpanOver 222';
alert(str.replace(/(^|\s+)dialogTitleCloseSpanOver(\s+|$)/g, ' '));
Ответить с цитированием
  #8 (permalink)  
Старый 26.01.2010, 17:45
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Kolyaj, очепятка.
'!aaa aaaa aa'.replace(/\baaa\b/g, '')

Почему заменило то, что начинается с !? Для классов, которые наверняка собирается менять ТС, можно указывать так:
'a-aaa aaaa aa'.replace(/\baaa\b/g, '')

Тоже не айс.
Ответить с цитированием
  #9 (permalink)  
Старый 26.01.2010, 17:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от e1f
Почему заменило то, что начинается с !?
А почему не должно было? Условий задачи никаких не было.
Ответить с цитированием
  #10 (permalink)  
Старый 26.01.2010, 17:49
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Для этой задачи лучше всего подходит, имхо, то, как сделано в jQuery:
split по \s+, потом удаление тех классов, которые надо убрать, и join по ' '
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отфильтровать строки в таблице по заданным критериям Hag1989 Общие вопросы Javascript 0 03.12.2009 02:06
Как удалить последний символ строки? PAMAC Events/DOM/Window 5 18.10.2009 15:01
Для события onCLick получить индекс строки и объект грида. progi2007 ExtJS 4 05.08.2009 11:31
можно ли, если да то как удалить строки из таблицы Avaria Я не знаю javascript 3 11.06.2009 03:03
Разбор строки GRol Общие вопросы Javascript 19 04.03.2009 00:33