我使用prototype方法替换字符串中的逗号,但函数给出相同的字符串
String.prototype.removeLastComma = function(){
return this.replace(/,/g, '.');
}
答案 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());