任何人都可以帮我这个脚本吗? 我必须替换字符串中变量的值(字符串变量是动态的)
以下是一个例子:
var string = "#sport,#fotogallery,#sport,";
var element = "#sport";
string.replace(element+",","");
alert(string);
答案 0 :(得分:3)
首先,replace
函数返回一个字符串,它不会改变变量。因此,正确使用如下:
source = source.replace('old', 'new');
您应该注意确保输入的格式正确,因为如果在最后一个值之后没有尾随逗号,并且您想要替换最后一个值,则只需使用replace
就会失败。
答案 1 :(得分:0)
替换element
的所有实例,后跟可选的逗号:
str = str.replace(new RegExp(element + ",?", "g"), "")
您的字符串似乎是分隔的,因此这也是一个选项:
var str = "#sport,#fotogallery,#sport,";
var element = "#sport";
var newStr = str.split(",").filter(function(el) {
return el !== element;
}).join(",");
或者,如果你不能使用filter
,这也会有效:
var parts = str.split(",");
var res = [];
for (var i = 0; i < parts.length; i++) {
if (parts[i] !== element)
res.push(parts[i]);
}
var newStr = res.join(",");