【问题标题】:how to replace "(double quotes) in a string with \" in java如何在java中用\替换字符串中的“(双引号)”
【发布时间】:2013-10-18 10:48:47
【问题描述】:

我有值为' "value1" ' 的字符串变量strVar,我想用' \" ' 替换值中的所有双引号。所以替换后的值看起来像' \"value1\" '

如何在java中做到这一点? 请帮助我。

【问题讨论】:

  • 你的代码能编译吗? ' "value1" '是你在源代码中看到的还是你打印出来的时候看到的?

标签: java string replace str-replace


【解决方案1】:

你正在寻找

str = str.replace("\"", "\\\"")

DEMO

我会避免使用replaceAll,因为它使用正则表达式语法来描述要替换的内容和如何替换,这意味着\必须在字符串"\\"和正则表达式\\中转义(需要写成"\\\\" string) 这意味着我们需要使用

str = str.replaceAll("\"", "\\\\\"");

或者可能更清洁一点:

str = str.replaceAll("\"", Matcher.quoteReplacement("\\\""))

使用replace,我们自动添加了转义机制。

【讨论】:

    【解决方案2】:

    其实是: strVar.replaceAll("\"", "\\\\\"");

    【讨论】:

      【解决方案3】:

      例如取一个具有这样结构的字符串--->>>

      String obj = "hello"How are"you";
      

      你想用空白值替换所有双引号,或者换句话说,如果你想修剪所有双引号。

      就这样吧,

      String new_obj= obj.replaceAll("\"", "");
      

      【讨论】:

        【解决方案4】:

        字符串用双引号格式化。你所拥有的是单引号,用于chars。你想要的是这样的:

        String foo = " \"bar\" ";

        【讨论】:

          【解决方案5】:

          这应该给你你想要的;

          System.out.println("'\\\" value1 \\\"'");
          

          【讨论】:

            【解决方案6】:

            替换双引号

            str=change condition to"or"      
            
            str=str.replace("\"", "\\"");
            

            替换后:将条件改为\"or\"

            替换单引号

            str=change condition to'or'      
            
            str=str.replace("\'", "\\'");
            

            替换后:将条件更改为\'或\'

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-03-12
              • 2023-03-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多