Javaだけでなく、プログラミング全般(文字列型のないC言語などを除く)で、「文字列 複数行」と検索する機会は多いです。
複数の言語を日常的に扱っていると、なぜかよく忘れがちなのが複数行文字列です。
対して、エスケープシーケンスはおおむねほとんどの言語で同じ書き方なので忘れにくい書き方をします。
文字列操作でよく使う表現なので、2つともしっかり書き方をマスターしましょう。
まず、複数行文字列を扱う上で必要なのはエスケープシーケンスです。
Javaで使われる基本的なエスケープシーケンスを見てみましょう。
表記 | 機能 |
---|---|
\" / ¥" | " (二重引用符) |
\' / ¥' | ' (引用符) |
\\ / ¥¥ | \ (バックスラッシュ) / ¥ (円記号) |
\n / ¥n | 改行 |
\t / ¥t | タブ文字 |
実際の利用例が下記です。
出力結果は行かとなります。
改行によって複数行文字列を表現できるため、2 ~ 3行の短い複数行文字列であれば使う機会があります。
続いて、テキストブロックを用いた複数行文字列を紹介します。
\n
を使って大きな文字列を扱うと、1行が長くなってしまって可読性が落ちるため、比較的大きな文字列や、定型文として使いたい文字列テンプレートなどにはテキストブロックを使います。
早速、書き方を見てみましょう。
これの出力結果は以下です。
このように、自動的に先頭のスペースが取り除かれ、改行が自動付与されていることがわかります。
もしスペースを入れたい場合は以下のようにします。
出力結果は以下です。
スペースが、「田中太郎様」の前に入っていることが確認できます。これは、Javaが最も左側(先頭)にある位置を先端と認識してくれる仕様によるものです。
"""{文字列}"""
の間には、自由に記述できますが、インデントを意識しておかないと予期せぬ結果になるため、気を付けて書きましょう。
特定の機能を持つ記法は普段使わないと忘れがちですが、できるだけ覚えておくと良いでしょう。
検索する手間を減らすこともそうですが、それ以上に「こういう書き方ができる」と体に染み込ませることで表現豊かになります。
文字列操作はどういったシステムを構築するにしても、常に必要な操作となるため、複数行文字列の扱い方はぜひ習得しておいてください。