【问题标题】:How to remove multiple comma from end of string using javascript?如何使用javascript从字符串末尾删除多个逗号?
【发布时间】:2016-09-27 12:36:29
【问题描述】:

这是我的输出

9781473507340.epub,9781473518902.epub,,,,,,

我需要这个输出

9781473507340.epub,9781473518902.epub

仅在javascript中使用动态获取文件名。可以动态获取

【问题讨论】:

  • 为什么你有这个逗号?你控制了输出吗?
  • 你是怎么得到这么多逗号的?你在附加字符串吗?
  • 请添加更多细节来解释您的问题

标签: javascript jquery string text comma


【解决方案1】:

要删除每个尾随逗号,您可以使用此正则表达式:

var str = "9781473507340.epub,9781473518902.epub,,,,,,";
var res = str.trim().replace(/,{1,}$/, '');
console.log(res); // 9781473507340.epub,9781473518902.epub

【讨论】:

  • 出于好奇,您是否有理由使用{1,} 而不是+
  • 不,不是真的@NadiaCerezo,两者都应该做同样的工作。
  • 是的,当然,它们是一样的,我只是好奇为什么你更喜欢前者而不是后者。 ^^
  • 实际上,我也更喜欢+,我只是用{1,} 表达式打开了另一个正则表达式并没有改变它.. @NadiaCerezo
  • @RonenCypis 正确 - 正如 OP 所要求的那样!
【解决方案2】:

你可以这样做;

var str = "9781473507340.epub,9781473518902.epub,,,,,,",
 newStr = str.replace(/,*(?=$)/,"");
console.log(newStr);

【讨论】:

    【解决方案3】:

    可能有点矫枉过正,但你可以尝试这样的事情。

    可以按照这些步骤进行。

    1. 根据逗号拆分为使用split() 的数组。
    2. 过滤掉空白项。
    3. 使用join() 将新数组放回字符串中。

    var input = '9781473507340.epub,9781473518902.epub,,,,,,';
    var output = input
        .split(',') //split to array
        .filter(function(val, b){
            return val.length
        }) //filter out the blank items
        .join(','); //put the new array to a string.
    console.log(output);

    【讨论】:

    • 这个方法也考虑了字符串中有多个逗号的情况,所以在这种情况下很有用。过滤器可以使用箭头函数进一步缩短
    猜你喜欢
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2017-05-14
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多