【问题标题】:How to enter quotes in a Java string?如何在 Java 字符串中输入引号?
【发布时间】:2011-04-03 07:27:09
【问题描述】:

我想在 Java 中初始化一个字符串,但该字符串需要包含引号;例如:"ROM"。我试着做:

String value = " "ROM" ";

但这不起作用。如何在字符串中包含"s?

【问题讨论】:

标签: java string quotes escaping


【解决方案1】:

在 Java 中,您可以使用 \ 转义引号:

String value = " \"ROM\" ";

【讨论】:

    【解决方案2】:

    关于您在 Ian Henry 回答后的评论,我不是 100% 确定我理解您的要求。

    如果是关于将双引号添加到字符串中,您可以将双引号连接到您的字符串中,例如:

    String theFirst = "Java Programming";
    String ROM = "\"" + theFirst + "\"";
    

    或者,如果你想用一个字符串变量来做,那就是:

    String ROM = "Java Programming";
    ROM = "\"" + ROM + "\"";
    

    当然,这实际上替换了原来的 ROM,因为 Java 字符串是不可变的。

    如果你想做一些事情,比如把变量名变成一个字符串,你不能在 Java 中这样做,AFAIK。

    【讨论】:

      【解决方案3】:

      不确定您使用的是什么语言(您没有指定),但您应该能够使用反斜杠“转义”引号字符:"\"ROM\""

      【讨论】:

        【解决方案4】:

        \ = \\

        " = \"

        新行 = \r\n OR \n\r OR \n(取决于操作系统)bun通常\n足够了。

        taabulator = \t

        【讨论】:

        • 对我投反对票。与一年前发布的现有答案相比,此答案无助于更彻底地解决原始问题。
        【解决方案5】:

        只需转义引号:

        String value = "\"ROM\"";
        

        【讨论】:

          【解决方案6】:

          在 Java 中,您可以将 char 值与 ":

          一起使用
          char quotes ='"';
          
          String strVar=quotes+"ROM"+quotes;
          

          【讨论】:

          • 您的代码无法编译,您忘记了变量名。此外,您的代码是不必要的复杂。这会很好:String foo = quotes + "ROM" + quotes;。不需要所有这些额外的""
          【解决方案7】:

          这是完整的 java 示例:-

          public class QuoteInJava {     
          
          public static void main (String args[])
              {
                      System.out.println ("If you need to 'quote' in Java");
                      System.out.println ("you can use single \' or double \" quote");
              }
          }
          

          这是输出:-

          If you need to 'quote' in Java
          you can use single ' or double " quote
          

          【讨论】:

            【解决方案8】:

            查看这个...从您想要的任何地方拨打电话。

            public String setdoubleQuote(String myText) {
                String quoteText = "";
                if (!myText.isEmpty()) {
                    quoteText = "\"" + myText + "\"";
                }
                return quoteText;
            }
            

            对非空动态字符串应用双引号。希望这会有所帮助。

            【讨论】:

              【解决方案9】:

              这个微型 java 方法将帮助您生成特定列的标准 CSV 文本。

              public static String getStandardizedCsv(String columnText){
              
                  //contains line feed ?
                  boolean containsLineFeed = false;
                  if(columnText.contains("\n")){
                      containsLineFeed = true;
                  }
              
                  boolean containsCommas = false;
                  if(columnText.contains(",")){
                      containsCommas = true;
                  }
              
                  boolean containsDoubleQuotes = false;
                  if(columnText.contains("\"")){
                      containsDoubleQuotes = true;
                  }
              
                  columnText.replaceAll("\"", "\"\"");
              
                  if(containsLineFeed || containsCommas || containsDoubleQuotes){
                      columnText = "\"" + columnText + "\"";
                  }
              
                  return columnText;
              }
              

              【讨论】:

                【解决方案10】:

                假设 ROM 是字符串变量,等于“strval” 你可以简单地做

                String value= " \" "+ROM+" \" ";
                

                它将被存储为

                value= " "strval" ";    
                

                【讨论】:

                • 这并不能比已接受的答案更好地回答问题。请不要为这样的旧问题添加答案。它没有帮助。
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2010-11-09
                • 1970-01-01
                • 2014-09-18
                • 2015-05-20
                • 1970-01-01
                • 2014-10-15
                • 1970-01-01
                相关资源
                最近更新 更多