如何从字符串的第一个位置和最后一个位置删除逗号(,)

时间:2014-04-07 12:53:41

标签: javascript regex

我想从字符串中删除逗号(,),如果它出现在字符串的第一个位置或最后一个位置。

例如:

 var str = ",abcd,efg,last,";

输出应为

output = 'abcd,efg,last'

如果输入

str = "abcdef,ghij,kl"

输出应为:

output = "abcdef,ghij,kl"

3 个答案:

答案 0 :(得分:6)

var str = ",abcd,efg,last,";
var res = str.replace(/^,|,$/g, '');
console.log(res);

这样做

如果逗号位于字符串位置末尾的起始位置or,则会删除逗号

答案 1 :(得分:0)

Javascript中必须有一些strip()函数,由于我的知识不足,我不知道。但是你可以使用正则表达式来实现它:

 output = ",abcd,efg,last,".replace(/^,|,$/g, "");

答案 2 :(得分:0)

JavaScript 不包含本机方法。最接近的是trim,但这并不是任何参数。不过,我认为应该这样做。所以你可以写这样的东西

String.prototype.trim = (function (trim) {
    if (!trim) // polyfill if not included in browser
        trim = function () {
            return this.replace(/^\s+|\s+$/g, '');
        };
    else if (trim.call('.', '.') === '') // already supports this
        return trim;
    return function (chars) {
        if (!chars) return trim.call(this);
        chars = chars.replace(/([\^\\\]-])/g, '\\$1');
        return this.replace(new RegExp('^['+chars+']+|['+chars+']+$', 'g'), '');
    }
}(String.prototype.trim));

现在我们有了

'   foo   '.trim();    // "foo"
',,,foo,,,'.trim(','); // "foo"