1. ホーム
  2. java

[解決済み] Javaで生の文字列 - 特に正規表現のために。マルチライン文字列

2023-07-02 11:44:29

質問

Javaで生の文字列(エスケープシーケンスなし)を使用する方法はありますか?

(私はかなりの量の正規表現コードを書いており、生の文字列は私のコードを非常に読みやすくします)

言語が直接これを提供しないことは理解していますが、何らかの方法でそれらを "シミュレートする方法はあるのでしょうか。

どのように解決するのですか?

はい、そうです。 .

テキストブロック Javaへようこそ

Java 13 は待望の複数行の文字列を提供する

いくつかの歴史 生の文字列 撤回 . これは JDK 12 のプレビュー言語機能となる予定でしたが、取り下げられ、JDK 12 には現れませんでした。 JDK 13 では Text Blocks (JEP 355) に取って代わられました。

テキストブロックを使用すると、複数行の文字列リテラルを簡単に定義できます。通常の String リテラルのように、連結演算子やエスケープシーケンスなどの視覚的な混乱を追加する必要はありません。また、文字列の値の書式を制御することもできます。例えば、次のようなHTMLスニペットを見てみましょう。

String html = """
<HTML>
  <BODY>
    <H1>"Java 13 is here!"</H1>
  </BODY>
</HTML>""";

の部分に注目してください。 3つの引用符 がブロックの始まりと終わりを区切っていることに注目してください。