Javascript替换var中的值

时间:2011-12-12 16:23:14

标签: javascript replace

任何人都可以帮我这个脚本吗? 我必须替换字符串中变量的值(字符串变量是动态的)

以下是一个例子:

var string = "#sport,#fotogallery,#sport,"; 
var element = "#sport"; 
string.replace(element+",","");
alert(string);

2 个答案:

答案 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(",");