今天开发需要一个简单的功能,就是把字符串的变量用值来替换。代码如下:
//替换变量为值
String.prototype.replaceVariables = function(){
var variables = this.getVariables(); //获取变量数组for (var i = 0; i < variables.length; i++) { var reg = new RegExp(variables[i],"g") this = this.replace(reg,i); //报错!!!this不能赋值}
}
//返回变量数组
String.prototype.getVariables = function(){
var variableReg = new RegExp("[A-Z]+[0-9]+");return this.match(variableReg);
}
调用方法:
var _formula1 = 'IF(BG4=="",BG4,"")';//BG4是一个变量标识 需要替换
_formula1.replaceVariables();
错误提示:
这里this指向的应该是_formula1对象,replace替换后会返回新对象,再把新对象赋值给this,我觉得逻辑上应该没问题。
麻烦大家帮我看看我想的哪里出问题了。。。谢谢了。
一只甜甜圈
相关分类