Domanda

In Python posso costruire una stringa HTML, senza preoccuparsi di sfuggire caratteri speciali come

html_string = """
<html>
<body>
<p>My text with "quotes" and whatnot!<p>
</body>
</html>
"""

C'è un modo simile per fare questo in Java?

È stato utile?

Soluzione

Non può essere fatto in Java come in Python. Tuttavia, se si utilizza Eclipse andare in Finestra-> Preferenze> Java-> Editor-> Typing L'ultima casella di controllo è "fuga di testo quando si incolla in una stringa letterale". Controllalo. Ora, quando si incolla quando il cursore si trova tra virgolette che sarà essere sfuggito.

Altri suggerimenti

Non ci sono, ma alcuni strumenti fuga per voi quando lo si incolla, come Eclipse.

Ai fini menzionato, Java Server Pages fare il trucco, anche senza il """ tripla: -)

Nel codice sorgente Java, doppio apice è un carattere speciale, utilizzato per dichiarare stringhe letterali. Non si può avere una doppia citazione in un letterale stringa senza scampo.

In generale, vorrei cercare di evitare le stringhe di difficile codificazione del genere nel codice sorgente, in particolare se mi sono trovato a fare un sacco - come hai notato, sono un dolore da affrontare, come fonte e potrebbero essere molto probabile che il cambiamento, nel qual caso si potrebbe fare senza ricompilare. Se non c'è bisogno di componenti di runtime di alimentazione ai dati di testo, si potrebbe ottenere via con qualcosa di semplice come la lettura dei dati da un file delle proprietà, o si potrebbe usare un motore di template come Apache Velocity di mantenere il carattere di dati separati e variabili ancora sostitutivi in ??fase di esecuzione - molti dei gli esempi nel manuale d'uso legata fanno esattamente questo con l'HTML.

Per l'eco di benjismith trucco da una simile domanda , è possibile utilizzare un carattere alternativo e sostituirli in seguito:

String myString = "using `backticks` instead of quotes".replace('`', '"');

L'ho trovato utile quando stavo scrivendo test con JSON

String json = "{`kind`:`file`,`sid`:802,`rid`:5678 ,`attrs`:{`name`:`FILE-WG-2468`}}".replace('`', '"');
// vs
String json = "{\"kind\":\"file\",\"sid\":802,\"rid\":5678 ,\"attrs\":{\"name\":\"FILE-WG-2468\"}}";
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top