在JavaScript中的字符之间替换多个字符串

时间:2014-05-30 17:12:39

标签: javascript regex

我正在尝试使用与Python字符串格式化相同的方式替换字符串。

该字符串的格式类似于:

string = 'Replace $name$ as well as $age$ and $country$';

我想要一个将返回和数组的正则表达式操作:

['name', 'age', 'country'] or ['$name$', '$age$', '$country$']

这样我就可以将它映射到对象键:

{
 name    : 'Bob',
 age     :  50,
 country : 'US'
}

我见过使用字符串连接的解决方案,但我需要一个使用正则表达式的解决方案,因为 我必须依赖包含这些变量的字符串。

1 个答案:

答案 0 :(得分:3)

你可以这样做:

var string = 'Replace $name$ as well as $age$ and $country$';
var arr = [];
string.replace(/\$(.+?)\$/g, function(m,g1){ arr.push(g1); return m; });
console.log(arr); // desired output