【C#】string.Formatで文字列にパディング(余白)を追加する方法
C#では、string.Formatメソッドの書式指定を活用することで、文字列を簡単に整形し、パディング(余白)を追加できます。表形式のようにデータをきれいに整列させたい場合に非常に便利です。
パディングを追加する基本構文
パディングを追加するには、書式指定文字列の中で幅を指定します。次のように定義します。
const string format = "{0,-5} {1,5}";ここで使われている書式指定子の意味は以下の通りです。
- {0,-5}:最初の引数を幅5文字・左寄せで表示する(マイナス値=左寄せ)
- {1,5}:2番目の引数を幅5文字・右寄せで表示する(プラス値=右寄せ)
この書式を使って、実際に文字列へパディングを適用してみましょう。
string str1 = string.Format(format, "Rank", "Student"); string str2 = string.Format(format, "2", "Tom");
サンプルコード
それでは、完全なコードを見てみましょう。
using System;
using System.Collections.Generic;
public class Program {
public static void Main() {
// パディングを設定
const string format = "{0,-5} {1,5}";
string str1 = string.Format(format, "Rank", "Student");
string str2 = string.Format(format, "2", "Tom");
Console.WriteLine(str1);
Console.WriteLine(str2);
}
}実行結果
Rank Student 2 Tom
ポイントまとめ
- 書式指定子のカンマの後に数値を指定すると、その幅で文字列が整形される
- 負の値(例:
-5)を指定すると左寄せ、正の値(例:5)を指定すると右寄せになる - 指定した幅より文字列が長い場合は、そのまま省略されずに全て表示される
このように、string.Formatの書式指定を使えば、コードをシンプルに保ちながら、見やすい整列された出力を簡単に実現できます。
-
Pythonの文字列フォーマット徹底比較:%演算子とformat()メソッドの違い
%演算子の落とし穴:変数とタプルの扱いPythonの%演算子(printf形式のフォーマット)は、変数単体でもタプルでも受け取ることができます。その分、意図した動作をさせるためには、非常に明示的な書き方が求められます。コード例たとえば、次のようにタプルをそのまま渡してみます。my_tuple = (1, 2, 3) My tuple: %s % my_tuple多くの人は、このコードから次のような出力を期待するでしょう。My tuple: (1, 2, 3)実際の出力結果しかし、実際に実行すると TypeError が発生します。これは、Pythonがタプルの中身を複数のフォーマット引数として
-
Rubyの文字列フォーマット入門:%演算子と書式指定子の使い方
この記事では、Rubyで文字列をフォーマットする方法について詳しく解説します。 なぜ文字列のフォーマットが必要なのでしょうか?例えば、10未満の数値にも先頭にゼロを付けて表示したい場合(01、02、03など)、あるいはコンソール出力を見やすいように桁を揃えて整形したい場合などが挙げられます。 他の言語ではprintf関数を使って文字列をフォーマットできます。C言語を使ったことがある人なら馴染み深いでしょう。printfでは、書式指定子(フォーマット指定子)のリストと、変数や値のリストを定義して使用します。 Rubyでの文字列フォーマットの基本 Rubyでもsprintfメソッドが利用可能ですが