テキストブロック内のエスケープ
新しいエスケープシーケンスを使用します
「テキストブロック内のエスケープ」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全4レッスンが含まれています。
テキストブロック用の新しいエスケープ
テキストブロックでは通常のエスケープに加えて、テキストブロック専用に設計された2つの新しいエスケープ、行継続の\と明示的なスペースの\sを使用できます。これらにより、出力を正確に制御できます。
バックスラッシュによる行継続
行末に\を置くと、Javaはそこに改行を挿入しないようになります。次の行が現在の行に連結されます。これにより、長い論理行を読みやすさのために折り返して記述できます。
public class Main {
public static void main(String[] args) {
String text = """
This is one \
single long line.
""";
System.out.print(text);
}
}行継続が役立つ理由
ソースコードを複数の物理行に分けて整形しながら、出力は1行にできます。長い文章やURLに便利です。
public class Main {
public static void main(String[] args) {
String url = """
https://example.com/\
path/to/\
resource
""";
System.out.print(url);
}
}\sスペースエスケープ
通常、末尾のスペースは取り除かれます。\sエスケープを使うと、空白の除去後も残るリテラルのスペースを挿入でき、意味のある行末の空白を保持できます。
public class Main {
public static void main(String[] args) {
String text = """
red \s
green\s
""";
for (String line : text.split("\n")) {
System.out.println("|" + line + "|");
}
}
}列の配置を保持する
\sは、配置のために行末のスペースが重要になる固定幅の表で便利です。
public class Main {
public static void main(String[] args) {
String table = """
NAME\s\s\sAGE
Alice\s\s30
""";
System.out.print(table);
}
}標準のエスケープも引き続き使用できる
タブを表す\tや改行を表す\nなど、従来のエスケープもテキストブロック内で使用できます。
public class Main {
public static void main(String[] args) {
String text = """
Col1\tCol2
A\tB
""";
System.out.print(text);
}
}三重引用符をエスケープする
テキストブロック内に連続する3つの二重引用符を含めるには、少なくとも1つを\"でエスケープし、終端デリミタと誤認されないようにします。
public class Main {
public static void main(String[] args) {
String text = """
He said \"\"\" loudly.
""";
System.out.print(text);
}
}リテラルのバックスラッシュ
出力に実際のバックスラッシュを含めるには、通常の文字列と同じように\\と記述します。Windowsのパスや正規表現パターンで重要になります。
public class Main {
public static void main(String[] args) {
String path = """
C:\\Users\\Alice
""";
System.out.print(path);
}
}行継続と\sを組み合わせる
2つの新しいエスケープは組み合わせて使用できます。ここでは行継続によって行を連結し、\sによって連結位置にスペースを確実に入れています。
public class Main {
public static void main(String[] args) {
String sentence = """
Hello\s\
World
""";
System.out.print(sentence);
}
}意図しない改行を防ぐ
行継続を使わない場合、ソースコード内のすべての改行が改行文字になります。行末に\を追加するとその改行がなくなり、改行位置を完全に制御できます。
public class Main {
public static void main(String[] args) {
String joined = """
part1\
part2\
part3
""";
System.out.println(joined);
}
}単独の二重引用符はエスケープ不要
テキストブロック内では、単独の二重引用符"はそのまま使用できます。終端の"""を形成する可能性がある並びだけに注意が必要です。
public class Main {
public static void main(String[] args) {
String quote = """
She said "hi" to me.
""";
System.out.print(quote);
}
}クイックチェック
テキストブロックの行末に単独のバックスラッシュ\を置くと、どうなりますか?
まとめ
テキストブロックのエスケープについて学びました。
- 行末の
\= 行継続(改行なし) \s= 行末の空白の除去後も残るスペース- 標準の
\t、\n、\\も引き続き使用できます """を埋め込むには引用符をエスケープします- 単独の
"はエスケープ不要です
よくある質問
「テキストブロック内のエスケープ」レッスンは無料ですか?
はい。「テキストブロック内のエスケープ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全4レッスンが含まれています。
「テキストブロック内のエスケープ」で何を学びますか?
新しいエスケープシーケンスを使用します ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「テキストブロック内のエスケープ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- テキストブロックの宣言
- インデントと除去
- テキストブロック内のエスケープ
- ユースケース:JSONとSQL