23

Python では、次のように文字列を三重引用符で囲むだけで、< や " などの特殊文字をエスケープすることを心配せずに HTML 文字列を作成できます。

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

Javaでこれを行う同様の方法はありますか?

4

5 に答える 5

22

Python のように Java では実行できません。ただし、Eclipse を使用している場合は、[ウィンドウ] -> [設定] -> [Java] -> [エディタ] -> [タイピング] に移動します。最後のチェック ボックスは、[文字列リテラルに貼り付けるときにテキストをエスケープする] です。それを確認します。カーソルが引用符の間にあるときに貼り付けると、エスケープされます。

于 2010-04-20T21:00:11.570 に答える
2

同様の質問からベンジスミスのトリックをエコーするには、別の文字を使用して後で置き換えることができます。

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

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\"}}";
于 2016-10-21T16:51:56.113 に答える
1

前述の目的のために、Java Server Pagesはトリプルがなくてもトリックを行います""":-)

于 2010-04-20T20:59:23.013 に答える
1

No, but some tools escape it for you when you paste it, like eclipse.

于 2010-04-20T20:46:47.737 に答える
0

Java ソース コードでは、二重引用符は特殊文字であり、文字列リテラルを宣言するために使用されます。エスケープせずに文字列リテラルに二重引用符を含めることはできません。

一般に、ソース コードでそのような文字列をハード コーディングすることは避けようとします。特に、自分が頻繁にハード コーディングを行っていることに気付いた場合は、ソースとして扱うのが面倒であり、その場合、再コンパイルせずに変更できます。テキスト データにランタイム パーツを提供する必要がない場合は、プロパティ ファイルからデータを読み取るだけの簡単な方法で済むか、Apache Velocityなどのテンプレート エンジンを使用して文字データを分離し、リンクされたユーザー ガイドの例のいくつかは、HTML で正確にそれを行います。

于 2010-04-20T20:48:26.397 に答える