使用javascript从字符串原型返回值

时间:2014-02-05 13:03:17

标签: javascript regex

我使用prototype方法替换字符串中的逗号,但函数给出相同的字符串

String.prototype.removeLastComma = function(){
    return this.replace(/,/g, '.');
}

2 个答案:

答案 0 :(得分:2)

String.prototype.removeLastComma = function(){
    return this.replace(/,/g, '.');
}

工作得很好。我想你期待以下效果:

var str = 'foo,bar,baz';
str.removeLastComma();
console.log(str); //foo.bar.baz

不幸的是,这是不可能的,因为JavaScript中的字符串是immutable

请改为尝试:

var str = 'foo,bar,baz';
str = str.removeLastComma();
console.log(str); //foo.bar.baz

注意:更好地调用您的方法“removeCommas”或类似的东西。删除最后一个逗号表示您将删除 最后一个。

要删除最后一个逗号,您可以使用以下正则表达式:

String.prototype.removeLastComma = function(){
    return this.replace(/,(?=[^,]*$)/, '.');
}

答案 1 :(得分:0)

它对我来说很好。有关示例实现,请参阅:http://jsfiddle.net/9Hrzp/

String.prototype.removeLastComma = function(){
    return this.replace(/,/g, '.');
}

alert("foo,bar".removeLastComma());