замена нескольких строк с использованием переменной [duplicate]

3

javascript,

JavaScript,

Ответов: 0


var csku = "{len}" ; var value = 5 ; var finalPrice = "({con} * {len}) + {wid} + {fixed_var} + {extra} + {sqft} + {len}" ; var re = new RegExp ( csku , "g" ); консоль . log ( finalPrice . replace ( re , value )); = «40081338»> 1 принял

Использование кода из дубликата для создания объекта Regex с использованием переменной

new RegExp(cksu, 'g')


1

используйте cksuдля создания регулярного выражения, которое будет соответствовать всем new RegExp('{len}', 'g').

/{len}/gвернет finalPrice.replace(new RegExp(cksu, 'g'), value)смысл всех глобальных совпадений.

поэтому cksuзаменит все глобальные совпадения valueс value.

var csku = "{len}";
var value = 5;
var finalPrice = "({con}*{len})+{wid}+{fixed_var}+{extra}+{sqft}+{len}";

console.log(finalPrice.replace(new RegExp(csku, 'g'), value));


Стандартное изменение функции заменяется только первым совпадением. Вы можете использовать эту функцию:

function ReplaceAll(Source, stringToFind, stringToReplace) {
            var temp = Source;
            var index = temp.indexOf(stringToFind);
            while (index != -1) {
                temp = temp.replace(stringToFind, stringToReplace);
                index = temp.indexOf(stringToFind);
            }
            return temp;
        }
JavaScript,
Похожие вопросы