如何使用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从字符串末尾删除多个逗号?的主要内容,如果未能解决你的问题,请参考以下文章