Pregunta

En Python puedo construir una cadena HTML sin tener que preocuparse acerca de escapar caracteres especiales como

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

¿Hay una manera similar a hacer esto en Java?

¿Fue útil?

Solución

No puede ser hecho en Java como en Python. Sin embargo, si usted está usando Eclipse ir a Ventana-> Preferencias> Java> Editor-> Typing La última casilla de verificación es "Escape de texto al pegar en una cadena literal". Mira esto. Ahora cuando se pega cuando el cursor está entre comillas que va a ser escapado.

Otros consejos

No, pero algunas herramientas de escapar de ella para que cuando se pega, como Eclipse.

Para el fin mencionado, Java Server Pages hacer el truco, incluso sin que el """ triple: -)

código fuente En Java, comillas dobles es un carácter especial, que se utiliza para declarar literales de cadena. No se puede tener una doble cita en un literal de cadena sin escapar a él.

En general, me gustaría tratar de evitar las cadenas codificantes duros como el que en el código fuente, sobre todo si me encontré haciendo que sea mucho más - como usted ha señalado, que son un dolor de tratar como fuente y que podría ser bastante probable que el cambio, en cuyo caso se podría hacer sin recompilación. Si no necesita piezas de tiempo de ejecución de suministro de los datos de texto, que podría salirse con algo tan simple como la lectura de los datos de un archivo de propiedades, o se puede utilizar un motor de plantillas como Apache Velocity para mantener el carácter separar los datos y las variables sustitutivas todavía en tiempo de ejecución - varios de los ejemplos en la guía de usuario vinculado hacer exactamente eso con HTML.

Para el truco de eco benjismith de una homóloga pregunta , se puede utilizar un carácter alternativo y reemplazarlos después:

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

Me pareció muy útil cuando estaba escribiendo pruebas 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\"}}";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top