Снимите браслеты и шнурок и ПРОБЕЛ - PullRequest
0 голосов
/ 02 декабря 2011

У меня есть переменная строка, такая как: [Текст, который изменяется]: ПРОБЕЛ: где: ПРОБЕЛ: на самом деле нормальный пробел. Мне нужно снять скобки и все внутри, а также пробел после.

У меня есть это:

      //<![CDATA[ 
  $(window).load(function(){
function stripParenthesis( node ) {
    if(node.length) {
        node.contents().each(function(index, child) {
            if( child.nodeType === 3 ) {
                child.nodeValue = child.nodeValue.replace(/\[.*?\]/g, '');
            }
            else {
                stripParenthesis( $(child) );
            }
        });
    }
}

stripParenthesis( $('div#brackets') );   });  //]]>

Это удаляет скобки и все внутри. Но как насчет пространства после? Я не знаю, как настроить следующее, чтобы оно включало закрывающую скобку и пробел после ...

.replace(/\[.*?\]/g, '')

Спасибо за любую помощь, которую вы можете оказать. Кроме того, мы надеемся, что эта функция будет работать, даже если в какой-то момент нет скобки?

Ответы [ 2 ]

2 голосов
/ 02 декабря 2011

enter code here Просто нужно добавить \ s (символ пробела) в конце.

.replace(/\[.*?\]\s/g, '')

проверьте это здесь: http://gskinner.com/RegExr/

РЕДАКТИРОВАТЬ - Полный код:

//<![CDATA[ 
  $(window).load(function(){
function stripParenthesis( node ) {
    if(node.length) {
        node.contents().each(function(index, child) {
            if( child.nodeType === 3 ) {
                child.nodeValue = child.nodeValue.replace(/\[.*?\]\s/g, '');
            }
            else {
                stripParenthesis( $(child) );
            }
        });
    }
}

stripParenthesis( $('div#brackets') );   });  //]]>
1 голос
/ 02 декабря 2011

Это должно работать, я считаю

child.nodeValue = child.nodeValue.replace(/\[.*?\]\s/g, '');
...