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

前端 未结 5 1272
忘掉有多难
忘掉有多难 2020-12-13 01:58

I have a string that is like below.

,liger, unicorn, snipe,

how can I trim the leading and trailing comma in javascript?

相关标签:
5条回答
  • 2020-12-13 02:40

    While cobbal's answer is the "best", in my opinion, I want to add one note: Depending on the formatting of your string and purpose of stripping leading and trailing commas, you may also want to watch out for whitespace.

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

    Of course, with this application, the value of using regex over basic string methods is more obvious.

    0 讨论(0)
  • 2020-12-13 02:40

    Try this, since not everything can be solved by REs and even some things that can, shouldn't be :-)

    <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> 
    
    0 讨论(0)
  • 2020-12-13 02:44

    In ECMAScript 5 and above, you can now do a one-liner

    ',liger, unicorn, snipe,'.split(',').map(e => e.trim()).filter(e => e).join(', ')
    
    0 讨论(0)
  • 2020-12-13 02:45

    If you want to make sure you don't have any trailing commas or whitespace, you might want to use this regex.

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

    returns

    "foo, bar"
    
    0 讨论(0)
  • 2020-12-13 02:49

    because I believe everything can be solved with regex:

    var str = ",liger, unicorn, snipe,"
    var trim = str.replace(/(^,)|(,$)/g, "")
    // trim now equals 'liger, unicorn, snipe'
    
    0 讨论(0)
提交回复
热议问题