使用javascript替换特定位置的所有空格

使用javascript替换特定位置的所有空格,javascript,regex,Javascript,Regex,我有一个字符串,比如: image.id."HashiCorp Terraform Team <terraform@hashicorp.com>" AND image.label."some string"."some other string" 但它只替换了第一个空格,所以我得到: HashiCorp\uuuuuuuuuuuuuuuuuu地形团队。 和一些其他字符串 我对regexp非常不熟悉,所以我可能做错了什么:(您可以使用/“[^”]+”/gregex来匹配两个“字符之

我有一个字符串,比如:

image.id."HashiCorp Terraform Team <terraform@hashicorp.com>" 
AND  image.label."some string"."some other string"
但它只替换了第一个空格,所以我得到:
HashiCorp\uuuuuuuuuuuuuuuuuu地形团队
。 和
一些其他字符串

我对regexp非常不熟悉,所以我可能做错了什么:(

您可以使用
/“[^”]+”/g
regex来匹配两个
字符之间的子字符串,然后在回调方法中替换空白字符:

var text='image.id.“HashiCorp Terraform团队”\n和image.label.“一些字符串”“一些其他字符串”;
var _分隔符=“_;”;
text=text.replace(/“[^”]+”/g,函数(a){
返回a.replace(/\s/g,_分隔符);
});

console.log(文本)
由于您的输入看起来像是一种编程语言,这里有一个强制性的提醒,您不能单独使用正则表达式来处理此类语言,最好使用真正的标记器/解析器。@georg它不是一种编程语言,它是用户输入的自由文本字符串,必须遵循一些规则,但在引号内,用户可以使用如果您担心安全性,则该字符串将在服务器上进行清理。
  image.id."HashiCorp___Terraform___Team___<terraform@hashicorp.com>" 
    AND  image.label."some___string"."some___other___string"
text = text.replace(/"(\w+\s+)+/gi, function (a) {
                return a.replace(' ', _delimiter);
            });