繁体   English   中英

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

[英]How can I trim the leading and trailing comma in javascript?

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

,liger, unicorn, snipe,

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

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

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

虽然 cobbal 的答案是“最好的”,但在我看来,我想补充一点:根据字符串的格式以及去除前导和尾随逗号的目的,您可能还需要注意空格。

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

当然,在这个应用程序中,使用正则表达式而不是基本字符串方法的价值更加明显。

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

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

返回

"foo, bar"

试试这个,因为不是所有事情都可以通过 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> 

在 ECMAScript 5 及更高版本中,您现在可以执行单行

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM