Jak wprowadzać cudzysłowy w ciągu znaków Java?

110

Chcę zainicjować ciąg znaków w Javie, ale ten ciąg musi zawierać cudzysłowy; na przykład: "ROM". Próbowałem zrobić:

String value = " "ROM" ";

ale to nie działa. Jak mogę zawrzeć "s w ciągu?

Jimmy
źródło
Wersja bez cudzysłowów: stackoverflow.com/questions/3034186/…
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Odpowiedzi:

211

W Javie możesz uniknąć cudzysłowów za pomocą \:

String value = " \"ROM\" ";
Ian Henry
źródło
16

W odniesieniu do twojego komentarza po odpowiedzi Iana Henry'ego, nie jestem do końca pewien, czy rozumiem, o co pytasz.

Jeśli chodzi o dodanie podwójnych cudzysłowów do łańcucha, możesz połączyć te podwójne cudzysłowy z ciągiem znaków, na przykład:

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

Lub, jeśli chcesz to zrobić z jedną zmienną typu String, byłoby to:

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

Oczywiście to faktycznie zastępuje oryginalną pamięć ROM, ponieważ ciągi Java są niezmienne.

Jeśli chcesz zrobić coś takiego jak zamiana nazwy zmiennej na łańcuch, nie możesz tego zrobić w Javie, AFAIK.

GreenMatt
źródło
13

Nie jestem pewien, jakiego języka używasz (nie określiłeś), ale powinieneś być w stanie ominąć cudzysłów za pomocą odwrotnego ukośnika: "\"ROM\""

Shaggy Frog
źródło
12

Po prostu uniknij cytatów:

String value = "\"ROM\"";

źródło
9

\ = \\

"= \"

nowa linia = \r\nLUB \n\rLUB \n(w zależności od systemu operacyjnego) bułka zwykle \nwystarczająca.

taabulator = \t

Oleksandr Samsonov
źródło
3
Ode mnie głos przeciw. Ta odpowiedź nie pomaga dokładniej odpowiedzieć na pierwotne pytanie niż istniejące odpowiedzi opublikowane rok wcześniej.
Duncan Jones
3

W Javie możesz użyć wartości char z „:

char quotes ='"';

String strVar=quotes+"ROM"+quotes;
kumar
źródło
1
Twój kod się nie kompiluje, zapomniałeś nazwy zmiennej. Twój kod jest również niepotrzebnie złożony. To zrobi grzywny: String foo = quotes + "ROM" + quotes;. Nie ma potrzeby używania tych wszystkich dodatkowych "".
Duncan Jones
1

Spójrz na to ... zadzwoń z dowolnego miejsca.

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

zastosuj podwójne cudzysłowy do niepustego ciągu dynamicznego. Mam nadzieję, że to jest pomocne.

Madan Sapkota
źródło
0

Oto pełny przykład 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");
    }
}

Oto Out PUT: -

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

wprowadź opis obrazu tutaj

Vipul Gulhane
źródło
0

Ta niewielka metoda Java pomoże Ci utworzyć standardowy tekst CSV dla określonej kolumny.

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
źródło
-5

załóżmy, że ROM jest zmienną łańcuchową, która równa się „strval”, którą możesz po prostu zrobić

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

będzie przechowywany jako

value= " "strval" ";    
Isharth Rastogi
źródło
3
To nie odpowiada na pytanie lepiej niż przyjęta odpowiedź. Nie dodawaj odpowiedzi na stare pytania, takie jak to. To nie pomaga.
Stephen C