2012-04-24 2 views
1

У меня есть строка, в которой я хочу, чтобы заменить вхождение который я не в состоянии достичь следующего является кодмножественным событие в строке

var code="user_1/has some text and user_1? also has some text"; 
newcode=code.replace(/user_1//g,'_'); 

Еще одна вещь, если я должен заменить строку из еще одна строка, как это сделать? пример.

var replacestring="user_1"; 
var code="user_1/some value here for some user"; 
var newcode=code.replace(/+replacestring+/g,'_'); 
+0

Существует только один ** появление ** из 'user_1 /', что если выход был похож? – gdoron

ответ

1

Побег / в регулярном выражении с помощью \

newcode=code.replace(/user_1\//g,'_'); 

Для вашего комментария

@Vega У меня есть другая путаница. могу ли я использовать значение в строке для передачи вместо user_1/для замены? какой будет синтаксис?

Вы можете инициализировать REGEX объект, как показано ниже,

var userName = 'user_1/'; 
var newcode = code.replace(new RegExp(userName, 'g'), '_'); 

Read More about RegEx

+0

+1 отличная работа ...! вам лучше добавить комментарий сверху. – gdoron

1

/ Таким образом, специальный символ должен быть экранирован \ перед ним:

var code = "user_1/has some text and user_1? also has some text"; 
var newcode = code.replace(/user_1\//g, '_'); 
alert(newcode);​ 

Live DEMO

, если вы хотите заменить все user_1, используйте:

var code = "user_1/has some text and user_1? also has some text"; 
var newcode = code.replace(/user_1/g, '_'); 
alert(newcode);​ 

Live DEMO

+0

мм .. на какое-то время я думал, что неправильно понял вопрос .. как говорится в названии несколько случаев –

+0

@ Vega. Да, я тоже смущен ...! поэтому я добавил два варианта. – gdoron

+0

Верно, я видел, что ур отвечал '/ g' первым, и думал, что ОП сделал опечатку, и вы указали это. Посмотрим, что будет с OP. :) –

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