2013-02-21 3 views
0

У меня есть строка возвращается из WebService класс содержит открытые скобки, как например «[]» так что строка будет выглядеть как-то вроде этого:Заменить строку между «[]» с JavaScript, используя регулярное выражение

[1] blabh balh blah 

Я хотел бы написать регулярное выражение, которое удалит «[1]» или что-нибудь между открытыми скобками. Прямо сейчас я пытался что-то вроде:

var regexp = /\[[]\\]/g; 

, но это не работает. Я спотыкаюсь о своих двух ногах. Я просто хочу найти что-нибудь, что начинается с «[» и заканчивается на «]» и заменить все в середине, включая открытые и закрытые скобки. Любая помощь или руководство будут высоко оценены.

+0

возможно '/ \ [[0-9] * \] /;' Не нужно использовать флаг g, потому что вы не хотите заменять глобально. – Jess

ответ

8

Это должно работать:

var str = '[1] blabh balh blah'; 
str = str.replace(/\[.*?\]\s?/g, ''); 

Если у вас есть вложенные скобки регулярное выражение может не быть лучший вариант, хотя.

+0

чувак ты мой герой, я чувствую себя настолько глупо сейчас! спасибо за этот ответ. один быстрый вопрос о том, что «[. *]» - это то, что поиск в виде дикой карты? Благодарю вас, я смиренно благодарю вас. – Miguel

+0

Я просто попробовал это в Firefox Web Console и возвращает 'blabh balh blah' – Jess

+0

@Miguel: Да,'. * 'Означает« любой символ 0 или более раз » – elclanrs

1

Используется regexp a требование? Если нет, может быть простое решение:

var myString = '[1] Bob Loblaw is the man'; 
myString = myString.slice(myString.indexOf(']')+1); 
+1

Веб-консоль возвращает «Боб Лобл - это мужчина». Вам также нужно избавиться от пространства. – Jess

Смежные вопросы