У меня проблема с заменой || голец.Замена || (конкатенация) в строке
str="Example || sentence";
document.write(str.replace(/||/g, "+"));
// it gives me "+ +E+x+a+m+p+l+e+ +|+|+ +s+e+n+t+e+n+c+e+"
Как это исправить?
У меня проблема с заменой || голец.Замена || (конкатенация) в строке
str="Example || sentence";
document.write(str.replace(/||/g, "+"));
// it gives me "+ +E+x+a+m+p+l+e+ +|+|+ +s+e+n+t+e+n+c+e+"
Как это исправить?
|
является регулярным оператором выражение, что ведет себя как or
. Вам нужно бежать, если вы хотите, чтобы соответствовать его внутри строки:
str = "Example || sentence";
document.write(str.replace(/\|\|/g, "+"));
|
символ имеет особое значение в регулярных выражениях. Вы должны избежать этого.
document.write(str.replace(/\|\|/g, '+'))
Эта:
str.replace(/\|\|/g, '+')
Вертикальные полосы имеют специальные символы внутри регулярного выражения, и они должны быть экранированы.
Живая демонстрация:http://jsfiddle.net/mN3ft/
лучший ответ до сих пор – MilkyWayJoe