如何删除 javascript 中某些字符之前的所有逗号

How to remove all commas before certain characters in javascript

本文关键字:字符 何删除 删除 javascript      更新时间:2023-09-26

>假设我有一个字符串,例如

var x = "This is as,] sent,}encee:. Doo} youu: likei} i,:t."

我想知道是否有任何方法可以删除]}:之前的所有字符?这将导致

"This is as] sent}encee:. Doo} youu: likei} i:t."

我知道我可能会循环穿过字符串,但你们知道有什么更简单的方法吗?

编辑:抱歉,如果您只想替换]}:之前的,,您将如何解决这个问题?

你可以用javascript正则表达式替换来做到这一点:

x.replace(/,([']'}':])/gi, '$2')

',将捕获一个角色

([']'}':])将捕获下一个角色,如果它是]:}

gi将使其全局搜索和不区分大小写。

var x = "This is as,] sentencee,:. Doo,} youu: likei,} it."
var y = x.replace(/,([']'}':])/gi, '$1');
document.write(y);

正则表达式替换

替换为查找逗号后跟特定字符的正则表达式,并将它们替换为特殊字符(例如,",:" => ":" )。

var x = "This is as,] sent,}encee:. Doo} youu: likei} i,:t.";
x = x.replace(/,([']:}])/g, "$1");
alert(x);

字符串替换

您也可以使用以下字符串替换方法,链接替换,但重要的是要注意全局替换标志 ( "g" ) 在 v8 JS 引擎中不起作用,例如 Chrome(我认为是 Safari),因此请谨慎使用此方法:

var x = "This is as,] sent,}encee:. Doo} youu: likei} i,:t.";
x = x.replace(',]', ']', "g")
     .replace(',}', '}', "g")
     .replace(',:', ':', "g");
alert(x);