Wie gebe ich Anführungszeichen in eine Java-Zeichenfolge ein?

110

Ich möchte einen String in Java initialisieren, aber dieser String muss Anführungszeichen enthalten. zum Beispiel : "ROM". Ich habe versucht:

String value = " "ROM" ";

aber das funktioniert nicht. Wie kann ich "s in eine Zeichenfolge aufnehmen?

Jimmy
quelle
Ohne Anführungszeichen zu entkommen Version: stackoverflow.com/questions/3034186/…
Ciro Santilli 法轮功 冠状 病 六四 事件 20

Antworten:

211

In Java können Sie Anführungszeichen mit \folgenden Angaben umgehen :

String value = " \"ROM\" ";
Ian Henry
quelle
16

In Bezug auf Ihren Kommentar nach Ian Henrys Antwort bin ich mir nicht ganz sicher, ob ich verstehe, was Sie fragen.

Wenn es darum geht, doppelte Anführungszeichen in eine Zeichenfolge einzufügen, können Sie die doppelten Anführungszeichen in Ihre Zeichenfolge einketten, zum Beispiel:

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

Wenn Sie dies mit einer String-Variablen tun möchten, ist dies:

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

Dies ersetzt natürlich das ursprüngliche ROM, da Java-Strings unveränderlich sind.

Wenn Sie beispielsweise den Variablennamen in einen String umwandeln möchten, können Sie dies in Java, AFAIK, nicht tun.

GreenMatt
quelle
13

Sie sind sich nicht sicher, welche Sprache Sie verwenden (Sie haben sie nicht angegeben), aber Sie sollten in der Lage sein, das Anführungszeichen mit einem Backslash zu "umgehen": "\"ROM\""

Zottiger Frosch
quelle
12

Entfliehen Sie einfach den Zitaten:

String value = "\"ROM\"";

quelle
9

\ = \\

"= \"

neue Zeile = \r\nODER \n\rODER \n(abhängig vom Betriebssystem) Brötchen normalerweise \ngenug.

Taabulator = \t

Oleksandr Samsonov
quelle
3
Ich stimme ab. Diese Antwort hilft nicht, die ursprüngliche Frage gründlicher zu beantworten als die vorhandenen Antworten, die ein Jahr zuvor veröffentlicht wurden.
Duncan Jones
3

In Java können Sie char value mit ":

char quotes ='"';

String strVar=quotes+"ROM"+quotes;
Kumar
quelle
1
Ihr Code wird nicht kompiliert, Sie haben den Variablennamen vergessen. Außerdem ist Ihr Code unnötig komplex. Dies würde gut tun : String foo = quotes + "ROM" + quotes;. Keine Notwendigkeit für all diese zusätzlichen "".
Duncan Jones
1

Schauen Sie sich diesen an ... rufen Sie von überall an, wo Sie wollen.

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

Wenden Sie doppelte Anführungszeichen auf nicht leere dynamische Zeichenfolgen an. Hoffe das ist hilfreich.

Madan Sapkota
quelle
0

Hier ist ein vollständiges Java- Beispiel: -

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");
    }
}

Hier ist Out PUT: -

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

Geben Sie hier die Bildbeschreibung ein

Vipul Gulhane
quelle
0

Mit dieser winzigen Java-Methode können Sie Standard-CSV-Text für eine bestimmte Spalte erstellen.

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;
}
mifthi
quelle
-5

Angenommen, ROM ist eine Zeichenfolgenvariable, die gleich "strval" ist, was Sie einfach tun können

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

es wird gespeichert als

value= " "strval" ";    
Isharth Rastogi
quelle
3
Dies beantwortet die Frage nicht besser als die akzeptierte Antwort. Bitte fügen Sie keine Antworten auf alte Fragen wie diese hinzu. Es hilft nicht.
Stephen C