JQuery正则表达式要从字符串中删除逗号吗
我有一根像JQuery正则表达式要从字符串中删除逗号吗,jquery,regex,Jquery,Regex,我有一根像 Andrew,Lucy,,David,Tess, 我想删除Lucy后面的,,以及字符串末尾的逗号,以便我需要的最终结果是 Andrew,Lucy,David,Tess 在jQuery中有什么方法可以实现这一点吗?或者您可以简单地使用.replace() 谢谢大家。非常感谢你的努力 做了这样的事。 它起作用了 var your_string = 'Andrew, Lucy,, David, Tess,'; newstr=your_string.replace(',,', ',');
Andrew,Lucy,,David,Tess,
我想删除Lucy后面的,
,以及字符串末尾的逗号,以便我需要的最终结果是
Andrew,Lucy,David,Tess
在jQuery中有什么方法可以实现这一点吗?或者您可以简单地使用
.replace()
谢谢大家。非常感谢你的努力 做了这样的事。 它起作用了
var your_string = 'Andrew, Lucy,, David, Tess,';
newstr=your_string.replace(',,', ',');
your_string1 = newstr.replace(/[,]$/,'');
首先我删除了双逗号,然后从末尾删除了逗号这是一个有效的正则表达式:
/,+(?=,|$)/g
删除后跟逗号或行尾的多余逗号。如果将此应用于多行,请在结束斜杠后添加m
(多行标志)(否则$
仅在文本的最后一行匹配,而不是在每个换行处匹配)
代码演示
//在底部添加/i,使正则表达式不区分大小写
变量re=/,+(?=,|$)/g;
var tests=['Andrew,Lucy,David,Tess','Andrew,,,,,Lucy,,,David,Tess,,,'].reverse();
var-m;
while(t=tests.pop()){
document.write(““'+t+'”=>“+t.replace(re)”)+“
”);
}
使用正向前瞻?=
var str=“安德鲁,露西,大卫,苔丝,”;
str=str.replace(/,(?=,+|$)/g,“”;
console.log(str);//安德鲁、露西、大卫、苔丝
没有正则表达式:
var str=“安德鲁,露西,大卫,苔丝,”;
var res=str.split(“,”);
res=res.filter(布尔值);
res=res.join(“,”);
控制台日志(res)代码>。替换(/,|,\s/,“”)
谢谢zer00ne,但它不起作用。以下是结果AndrewLucy,,David,Tess,我忘记了jQuery中的标志str.replace(/(,{2,})|(,$)/g,“”
”)-jQuery不是字符串操作库。(这就是为什么没有一个答案使用它。)难道,+
比,,,,,
更防弹吗?我意识到需求是,
,但是嘿哟。你也可以链接它:var newstr=your_string.replace(“,”,“,”).replace(/[,]$/,”)
如果将字符串作为第一个参数传递给.replace()
它将只替换第一个匹配项。这就是您想要的吗?/[,]$/
中的括号是不必要的<代码>/,$/
就足够了。不确定您需要支持的所有情况是什么,但对于更多的,
位置变体,此解决方案是insufficient@DarrenSweeney:我的错。我没有注意到这个问题。编辑完毕我认为这是一个完美的答案,,Andrew
案例如何?;)@Buljan:我严格遵循“不要添加未请求的特性”XP原则::P
/,+(?=,|$)/g