Как сделать глобальную замену обратной косой черты в строке в javascript

Я пробовал: (Если все косые черты затрудняют чтение, 1-я строка должна заменять косые черты, 2-я строка должна заменять обратную косую черту, 3-я строка должна заменять звездочки.

newbigbend = bb_val.replace(/\//gi,"");
newbigbend = bb_val.replace(/\\/gi,"");
newbigbend = bb_val.replace(/*/gi,"");

заменить все косые черты, обратные косые черты и звездочки. Но когда браузер доходит до средней строки newbigbend = bb_val.replace(/\\/gi,"");, он считает, что это незавершенный комментарий. Я знаю, как использовать escape для замены косой черты. Насчет спины не уверен.


person Mike Felder    schedule 02.05.2011    source источник
comment
Что содержит bb_val? Что вы хотите, чтобы это было?   -  person shahkalpeshp    schedule 02.05.2011
comment
Вы можете сделать это с одним регулярным выражением вместо трех: /[\/\\\*]/   -  person Znarkus    schedule 02.05.2011


Ответы (2)


Эндрю Купер ответ верен с точки зрения того, почему это третье утверждение идет не так. Но вы также перезаписываете newbigbend каждый раз, поэтому вы вообще не увидите результат первых двух замен.

Если вы пытаетесь заменить все косые черты, обратные косые черты и звездочки ничем, сделайте следующее:

newbigbend = bb_val.replace(/[/\\*]/g, "");

Обратите внимание, что вам не нужен флаг i, в любом случае ни один из этих символов не чувствителен к регистру. (И обратите внимание, что внутри [] вам не нужно экранировать / или *, потому что они не имеют там особого значения.) Живой пример.

Но если вы по какой-то причине хотите, чтобы это были три отдельных утверждения, используйте newbigbend во вторых двух (и добавьте обратную косую черту, отмеченную Эндрю):

newbigbend = bb_val.replace(/\//gi,"");
newbigbend = newbigbend.replace(/\\/gi,"");
newbigbend = newbigbend.replace(/\*/gi,"");
person T.J. Crowder    schedule 02.05.2011
comment
@Mike: Не беспокойся, рад, что помог. - person T.J. Crowder; 02.05.2011

Вам также нужно избежать *

newbigbend = bb_val.replace(/\*/gi,"");
person Andrew Cooper    schedule 02.05.2011