简体   繁体   中英

Replace expression into javascript variable placeholders

Need javascript regex pattern to convert all {{variableName}} expression into Javascript variable placeholders like ${variableName} in a provided string.

let str = 'Lorem ipsum dolor {{variable1}}, sit amet consectetur {{otherVaraible}} elit. Iure facilis quaerat obcaecati tempore {{variable2}} praesentium, nisi culpa vero';

Expected:

let str = 'Lorem ipsum dolor ${variable1}, sit amet consectetur ${otherVaraible} elit. Iure facilis quaerat obcaecati tempore ${variable2} praesentium, nisi culpa vero';

Thanks,

One way's use replace with regex. Follow as code:

 run1.onclick = function() { output1.innerHTML = input1.value.replace( /{{(.*?)}}/g, '${$1}'); }
 <input id="input1" type="text" value="'Lorem ipsum dolor {{variable1}}, sit amet consectetur {{otherVaraible}} elit. Iure facilis quaerat obcaecati tempore {{variable2}} praesentium, nisi culpa vero'"> <input id="run1" type="button" value="run"> <br /> <span id="output1"></span>

Example generated with regex101.com.
You can play with it here

const regex = /{{(.*?)}}/gm;
const str = `Lorem ipsum dolor {{variable1}}, sit amet consectetur {{otherVaraible}} elit. Iure facilis quaerat obcaecati tempore {{variable2}} praesentium, nisi culpa vero`;
const subst = `${$1}`;

// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);

console.log('Substitution result: ', result);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM