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

如何在javascript中修剪前导和尾随逗号?,javascript,Javascript,我有一个字符串,如下所示 ,liger, unicorn, snipe, 如何修剪javascript中的前导和尾随逗号?因为我相信使用正则表达式可以解决所有问题: var str = ",liger, unicorn, snipe," var trim = str.replace(/(^,)|(,$)/g, "") // trim now equals 'liger, unicorn, snipe' 试试这个,因为不是所有的事情都可以用REs解决,甚至有些事情可以,不应该:-) var

我有一个字符串,如下所示

,liger, unicorn, snipe,

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

因为我相信使用正则表达式可以解决所有问题:

var str = ",liger, unicorn, snipe,"
var trim = str.replace(/(^,)|(,$)/g, "")
// trim now equals 'liger, unicorn, snipe'
试试这个,因为不是所有的事情都可以用REs解决,甚至有些事情可以,不应该:-)


var str=“、狮虎、独角兽、鹬”;
如果(str.substr(0,1)=“,”){
str=str.substring(1);
}
var len=str.length;
if(str.substr(len-1,1)==“,”){
str=str.substring(0,len-1);
}
警报(str);

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

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

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

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

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

"foo, bar"

在ECMAScript 5及更高版本中,现在可以执行一行程序

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

不要问REs能为你做什么,而要问你能为REs做什么!:)对我来说,添加空格是最关键的。如果有人也对修剪空格感兴趣,最好使用herostwist下面的答案,这会更好。对于那些想知道为什么这与无眼睑的不同的人,此解决方案去除尾随逗号之前或开头逗号之后的空格。它还处理多个前导或尾随逗号。例如,
,,狮鹫,独角兽,鹬,,,
->
狮鹫,独角兽,鹬
。它不替换鹬后的逗号。这是更好的
str.replace(/^[,\s]+|[,\s]+$/g',)。replace(/,[,\s]*,/g',”)是的@cyonder-您已经将球门柱移动到了@cyonder,问题是“如何修剪前导和尾随逗号”。为了使你的评论有效,你不得不发明新的问题。你的评论中有没有笑话?我对@mohitmun(以及其他任何人)感到失望有些人在遇到问题时会想“我知道,我会使用正则表达式。”现在他们有两个问题。更多信息:
',liger, unicorn, snipe,'.split(',').map(e => e.trim()).filter(e => e).join(', ')