Question

En python je peux construire une chaîne HTML sans se soucier de sortir des caractères spéciaux comme

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

Y at-il une manière similaire à faire en Java?

Était-ce utile?

La solution

Il ne peut pas être fait en Java comme en Python. Toutefois, si vous utilisez Eclipse aller à Fenêtre-> Préférences-> Java-> Editor-> Saisie La dernière case à cocher est « texte Évasion lors du collage dans un littéral chaîne ». Regarde ça. Maintenant, lorsque vous collez lorsque votre curseur est entre guillemets il sera réchappés.

Autres conseils

Non, mais certains outils échappent pour vous quand vous le coller, comme éclipse.

Aux fins mentionné, Java Server Pages faire l'affaire sans même que le tripple """: -

)

Dans le code source Java, guillemet est un caractère spécial, utilisé pour déclarer les chaînes littérales. Vous ne pouvez pas avoir une double citation dans un littéral chaîne sans échapper.

En général, je voudrais essayer d'éviter codage en dur des chaînes comme ça dans le code source, en particulier si je me trouvais, il fait beaucoup - comme vous l'avez remarqué, ils sont une douleur à traiter comme source et ils pourraient être tout à fait susceptible de changer, dans ce cas, vous pouvez le faire sans recompilation. Si vous ne avez pas besoin de pièces d'exécution de l'offre aux données textuelles, vous pouvez vous en sortir avec quelque chose d'aussi simple que la lecture des données à partir d'un fichier de propriétés, ou vous pouvez utiliser un moteur de templating comme

Pour écho truc de benjismith d'un question similaire, vous pouvez utiliser un autre caractère et les remplacer par la suite:

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

Je l'ai trouvé utile quand j'écrivais des tests avec 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\"}}";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top