I have an object like this.
var obj = {Id:1,Rate:5,Price:200,Name:\"History\"}
And a template like this.
var templateString
You can use replace
with a callback :
var optionString = templateString.replace(/{(\w+)}/g, function(_,k){
return obj[k];
});
Demonstration
Without using regex, this can be done by finding all the properties of the object using Object.keys
and then replace each of them by it's value.
Try like this:
Object.keys(obj).forEach(key => {
templateString = templateString.replace(`**${key}**`, `"${obj[key]}"`);
});
Just this will work for you if it has just one occurrence
var optionString = templateString.replace('{Id}',obj.Id).replace('{Name}',obj.Name)