вставить в .replace значение переменной?
Нужно удалить из строки все повторяющиеся символы, но символ этот заранее неизвестен, он приходит в переменной.
допустим, чтобы все удалить "а" из строки str, я бы написал alert(str.replace(/a/g,"");) а как написать то же, но для случая если удаляемый символ находится в переменной someVar?.. |
var myvar = "a"; ....replace(myvar, ""); |
var myvar = "a"; alert( str.replace( new RegExp( myvar, "g" ), "" ) ); |
Цитата:
|
только сначала надо проэкранировать спецсимволы
https://github.com/nin-jin/PMS/blob/...BRegExp.jam.js |
Цитата:
var x = '\w.a'.replace( /(?=.)/g, '\\' ); var z = new RegExp( x, 'g' ); alert( '1\w.a1'.replace( z, '' ) ); |
а как можно запихнуть переменную в регулярное выражение
/var/? |
Цитата:
var x = 't.a'.replace( /(?=.)/g, '\\' ); var z = new RegExp( x, 'g' ); alert( '1t.a1'.replace( z, '' ) ); |
Ну дык экранировать нужно не все просто:
var x = 't.\\a'; var z = new RegExp( x.replace( /(?=\W)/g, '\\' ), 'g' ); alert( '1t.\\a1-1t.\\a1-1t.\\a1'.replace( z, '' ) ); |
tenshi, devote, спасибо :)
|
а не подскажите ли, как регуляркой убрать все повторяющиеся символы в строке (предположим, все символы - текстовые ascii, без спецсимволов)?..
|
var a = 'ппппррррииииввввеееетттт!!!!'; alert( a.replace( /([\s\S])(?=\1)/g, '' ) ); |
ага!!!
а если речь идет о строке вида "прпипвевпт", т.е. если повторяющиеся символы разбросаны по строке не подряд?.. |
Цитата:
|
deivan,
Вот мне интересно, ты сам сможешь убрать повторяющиеся символы в голове из вот этой строки: "абадаусбурбрад"? |
deivan,
Интересно в чём же я балабол? В том, что я не явно показал глупость твоего вопроса? |
специалист -- даст понятный ответ по сути вопроса вопрошающего или дружески пояснит, почему вопрос некорректен.
балабол (флудер, тролль и т.д.) -- наплодит никому не нужную, неграмотную и неконструктивную критику самого вопроса, зачастую с переходом на обсуждение личности автора |
вопрос из разряда "раз вы все такие умные, может и укусить себя за задницу сможете?"
|
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 08:58. |