2010-08-24 9 views
75

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

String value = " "ROM" "; 

ale to nie działa. Jak mogę dołączyć " s w ciągu znaków?

+0

Bez ucieczki cytuje wersję: http: // stackoverflow.com/questions/3034186/in-java-is-there-a-way-to-write-a-string-literal-without-having-to-escape-quote –

Odpowiedz

150

w Javie, można uciec z cytatów \:

String value = " \"ROM\" "; 
13

Nie wiesz, co język używasz (nie określono), ale powinieneś być w stanie „uciec” Znak cudzysłowu z odwrotnym ukośnikiem: "\"ROM\""

+0

samo w Javie też lemme spróbuj – jimmy

12

Wystarczy uciec cytaty:

String value = "\"ROM\""; 
10

w odniesieniu do Twojego komentarza po odebraniu Iana Henry'ego, nie jestem całkiem 100 % Jestem pewien, że rozumiem, o co prosisz.

Jeśli chodzi o uzyskanie cudzysłowie dodane do łańcucha, można złączyć cudzysłowów do swojego łańcucha, na przykład:

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

Albo, jeśli chcesz zrobić to z jednej zmiennej String, byłby to:

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

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

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

2

W języku Java, można użyć wartości char z ":

char quotes ='"'; 

String strVar=quotes+"ROM"+quotes; 
+1

Twój kod nie skompiluj, zapomniałeś nazwy zmiennej. Twój kod jest niepotrzebnie skomplikowany. Byłoby to dobrze: 'String foo = quotes +" ROM "+ quotes;'. Nie ma potrzeby używania tych dodatkowych "" ". –

6

\ = \\

" = \"

nowa linia = \r\n LUB \n\r LUB \n (w zależności od systemu operacyjnego) kok zwykle wystarczy \n.

taabulator = \t

+1

Down-vote ode mnie. Ta odpowiedź nie pomoże w dokładniejszym porównaniu z pierwotnym pytaniem niż istniejące odpowiedzi opublikowane przed rokiem. –

1

Spójrz na ten jeden ... zadzwonić z dowolnego miejsca chcesz.

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

stosuje podwójne cudzysłowy do niepustych ciągów dynamicznych. Mam nadzieję, że to jest pomocne.

-2

przypuszczać ROM jest zmienna ciąg który równa się "strval" można po prostu zrobić

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

będzie on przechowywany jako

value= " "strval" ";  
+1

To nie odpowiada na pytanie lepiej niż zaakceptowana odpowiedź. Proszę nie dodawać odpowiedzi na stare pytania w ten sposób. To nie pomaga. –

Powiązane problemy