Как ввести кавычки в строку Java?

Я хочу инициализировать строку в Java, но эта строка должна включать кавычки; например: "ROM". Я пробовал делать:

String value = " "ROM" ";

но это не работает. Как я могу включить "s в строку?


person jimmy    schedule 24.08.2010    source источник
comment
Версия без экранирования кавычек: stackoverflow.com/questions/3034186/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 20.03.2015


Ответы (10)


В Java кавычки можно экранировать с помощью \:

String value = " \"ROM\" ";
person Ian Henry    schedule 24.08.2010

Что касается вашего комментария после ответа Яна Генри, я не совсем уверен на 100%, что понимаю, о чем вы спрашиваете.

Если речь идет о добавлении двойных кавычек в строку, вы можете объединить двойные кавычки в свою строку, например:

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

Или, если вы хотите сделать это с одной переменной String, это будет:

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

Конечно, это фактически заменяет исходное ПЗУ, поскольку строки Java неизменяемы.

Если вы хотите сделать что-то вроде преобразования имени переменной в String, вы не можете сделать это в Java, AFAIK.

person GreenMatt    schedule 24.08.2010

Не уверен, какой язык вы используете (вы не указали), но вы должны иметь возможность «экранировать» кавычки с помощью обратной косой черты: "\"ROM\""

person Shaggy Frog    schedule 24.08.2010

\ = \\

" = \"

новая строка = \r\n ИЛИ \n\r ИЛИ \n (зависит от ОС) плюшки обычно достаточно \n.

taabulator = \t

person Oleksandr Samsonov    schedule 24.09.2013
comment
Проголосуйте против меня. Этот ответ не помогает решить исходный вопрос более тщательно, чем существующие ответы, опубликованные за год до этого. - person Duncan Jones; 18.03.2015

Просто избегайте кавычек:

String value = "\"ROM\"";
person Community    schedule 24.08.2010

В Java вы можете использовать значение char с ":

char quotes ='"';

String strVar=quotes+"ROM"+quotes;
person kumar    schedule 24.09.2013
comment
Ваш код не компилируется, вы забыли имя переменной. Кроме того, ваш код излишне сложен. Это подойдет: String foo = quotes + "ROM" + quotes;. Нет необходимости во всех этих лишних "". - person Duncan Jones; 18.03.2015

Вот полный пример 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");
    }
}

Вот Out PUT: -

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

введите описание изображения здесь

person Vipul Gulhane    schedule 18.08.2018

Взгляните на этот ... звоните откуда угодно.

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

применять двойные кавычки к непустой динамической строке. Надеюсь, это будет полезно.

person Madan Sapkota    schedule 23.05.2015

Этот крошечный метод 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;
}
person mifthi    schedule 25.01.2020

предположим, что ROM - это строковая переменная, равная "strval", вы можете просто сделать

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

он будет храниться как

value= " "strval" ";    
person Isharth Rastogi    schedule 03.04.2017
comment
Это не дает лучшего ответа на вопрос, чем принятый ответ. Пожалуйста, не добавляйте ответы на такие старые вопросы. Это не помогает. - person Stephen C; 13.04.2017