如何在javascript中修剪前导和尾随逗号?

时间:2009-03-19 07:20:44

标签: javascript

我有一个如下所示的字符串。

,liger, unicorn, snipe,

如何在javascript中修剪前导和尾随逗号?

5 个答案:

答案 0 :(得分:134)

因为我相信一切都可以用正则表达式来解决:

var str = ",liger, unicorn, snipe,"
var trim = str.replace(/(^,)|(,$)/g, "")
// trim now equals 'liger, unicorn, snipe'

答案 1 :(得分:35)

虽然cobbal的答案是“最好的”,但在我看来,我想添加一个注释:根据字符串的格式以及剥离前导和尾随逗号的目的,您可能还需要注意空格。 / p>

var str = ',liger, unicorn, snipe,';
var trim = str.replace(/(^\s*,)|(,\s*$)/g, '');

当然,对于这个应用程序,使用正则表达式而非基本字符串方法的值更明显。

答案 2 :(得分:21)

如果你想确保没有任何尾随逗号或空格,你可能想要使用这个正则表达式。

var str = ' , , , foo, bar,    ';
str = str.replace(/(^[,\s]+)|([,\s]+$)/g, '');

返回

"foo, bar"

答案 3 :(得分:16)

试试这个,因为不是所有都可以通过RE来解决,甚至可以解决一些不可能的事情: - )

<script type="text/javascript">
    var str = ",liger, unicorn, snipe,";
    if (str.substr(0,1) == ",") {
        str = str.substring(1);
    }
    var len = str.length;
    if (str.substr(len-1,1) == ",") {
        str = str.substring(0,len-1);
    }
    alert (str);
</script> 

答案 4 :(得分:4)

在ECMAScript 5及更高版本中,您现在可以做一排纸了

',liger, unicorn, snipe,'.split(',').map(e => e.trim()).filter(e => e).join(', ')