javascripts正则表达式

javascripts正则表达式,javascript,regex,Javascript,Regex,我有这个字符串1,2,3,4,5 如果我去掉1,它就会变成,2,3,4,5或1,2,4,5 如何从列表中删除“1”或任何数字,并替换那些多余的逗号,同时还要记住最后一个数字“5”没有逗号 我可以使用字符串替换javascript函数,我更关心的是最后一个数字 例如,如果我删除5 它应该显示为1,2,3,4 theString.replace(/«the number»,?|,«the number»$/, '') 或者将字符串视为数组,使用 theString.split(/,/).filte

我有这个字符串1,2,3,4,5

如果我去掉1,它就会变成,2,3,4,5或1,2,4,5

如何从列表中删除“1”或任何数字,并替换那些多余的逗号,同时还要记住最后一个数字“5”没有逗号

我可以使用字符串替换javascript函数,我更关心的是最后一个数字

例如,如果我删除5 它应该显示为1,2,3,4

theString.replace(/«the number»,?|,«the number»$/, '')
或者将字符串视为数组,使用

theString.split(/,/).filter(function(x){return x!="«the number»";}).join(",")

不要使用正则表达式。使用数组。您可以
split()
将字符串拆分为逗号上的数组,然后根据需要删除元素。然后,您可以使用
join()
将它们重新组合为字符串。

您可以在javascript中使用拆分和合并函数

+1-尽管您应该提到
join
以从arrayvar str='1,2,3,4,5'重建字符串;str=str.replace('1','');我正在尝试删除任何数字,但当您尝试替换“5”str=str.replace('5','','')时,此操作失败@这个答案中没有提到user244394
str.replace
,您在问题和后续评论中提供了相互冲突的规范。我尝试将拆分和替换结合起来等待-您有字符串还是数组?查看您对@webSol答案的评论,听起来您想要一个方法从逗号分隔的字符串中删除任何给定的数字?如果这是正确的,请相应地更新您的问题。并澄清整个“字符串或数组”的内容。@jball:这里没有逗号分隔的字符串。考虑<代码>:Fo:Bar:< /代码>。如果冒号分隔,则有2个字段;如果冒号终止,则有3个字段;如果冒号分隔,则有4个字段。我们是程序员:不要草率行事。@jb好吧,这是个好主意string@tchrist什么Ref:,特别是+1个漂亮的函数。我想没有肯尼特那么漂亮;)@杰森·麦克里,谢谢,不过为了公平起见,我也投了肯尼特的票:)
function removeValue(value, commaDelimitedString)
{
    var items = commaDelimitedString.split(/,/);
    var idx = items.indexOf(value);
    if(idx!=-1) { items.splice(idx, 1); }
    return items.join(",");
}
>>> "1,2,3,4,5".split(/,/).filter(function(x){return x!="1";}).join(",")
"2,3,4,5"
>>> "1,2,3,4,5".split(/,/).filter(function(x){return x!="2";}).join(",")
"1,3,4,5"
>>> "1,2,3,4,5".split(/,/).filter(function(x){return x!="5";}).join(",")
"1,2,3,4"
function removeValue(value, commaDelimitedString)
{
    var items = commaDelimitedString.split(/,/);
    var idx = items.indexOf(value);
    if(idx!=-1) { items.splice(idx, 1); }
    return items.join(",");
}