Java 什么样的正则表达式应该只替换两个引号? 亚马逊网站上的Leriya Fashion products。搜索中的“Leriya Fashion”。

Java 什么样的正则表达式应该只替换两个引号? 亚马逊网站上的Leriya Fashion products。搜索中的“Leriya Fashion”。,java,regex,Java,Regex,我只想替换这个词中的引号(“Leriya Fashion”)。我尝试过许多正则表达式,但它们替换了所有引号。现在我们知道这个词,但如果我们不知道实际的词怎么办 “|[a-z]$$$”$ “|”+\s 我想用空白或空格代替它。主要的问题发生在我们将xml转换为json时。因为json将这个双引号作为值,但实际上它不是一个值,它只是一个双引号的名称。所以对我来说,用json中的空白替换这个引号是非常困难的,这就是为什么我试图在xml文件中替换它。如果它只是“Leriya Fashion”,那么为什么

我只想替换这个词中的引号(“Leriya Fashion”)。我尝试过许多正则表达式,但它们替换了所有引号。现在我们知道这个词,但如果我们不知道实际的词怎么办

  • “|[a-z]$$$”$
  • “|”+\s
  • 我想用空白或空格代替它。主要的问题发生在我们将xml转换为json时。因为json将这个双引号作为值,但实际上它不是一个值,它只是一个双引号的名称。所以对我来说,用json中的空白替换这个引号是非常困难的,这就是为什么我试图在xml文件中替换它。

    如果它只是
    “Leriya Fashion”
    ,那么为什么不直接使用它呢

    我假设您只想删除引号。

    Lambda replaceAll

    str = str.replace("\"Leriya Fashion\"", "Leriya Fashion");
    
    这将替换非HTML属性(
    =“…”
    )中任何文本的所有引号。
    危险的假设是引号只能成对出现。

    您想用什么来代替它?试试这个,检查它在哪里覆盖了确切的正则表达式,我想用空白或space@umang你在问题中从来没有提到这两点。
    str = str.replace("\"Leriya Fashion\"", "Leriya Fashion");
    
    str = Pattern.compile("(.)\"([^\"\r\n]*\"").matcher(str)
        .replaceAll(mr -> mr.group(1).equals("=") ? mr.group()
                          : mr.group(1) + mr.group(2));