如何使用javascript从字符串末尾删除多个逗号?

Posted

技术标签:

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

这是我的输出

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

我需要这个输出

9781473507340.epub,9781473518902.epub

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

【问题讨论】:

为什么你有这个逗号?你控制了输出吗? 你是怎么得到这么多逗号的?你在附加字符串吗? 请添加更多细节来解释您的问题 【参考方案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】:

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

可以按照这些步骤进行。

    根据逗号拆分为使用split() 的数组。 过滤掉空白项。 使用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);

【讨论】:

这个方法也考虑了字符串中有多个逗号的情况,所以在这种情况下很有用。过滤器可以使用箭头函数进一步缩短

以上是关于如何使用javascript从字符串末尾删除多个逗号?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 中从末尾切分字符串? [复制]

如何从列表中的字符串末尾删除 '\n'? [复制]

如何使用c ++从字符串的末尾删除撇号

如何从字符串末尾删除子字符串?

使用 .htaccess 从 URL 末尾删除查询字符串

JavaScript中数组的方法和字符串方法总结