C#
 Computer >> コンピューター >  >> プログラミング >> C#

【C#入門】string.Formatで文字列の右側にパディング(余白)を追加する方法

C#では、string.Formatメソッドの複合書式指定子を使うことで、文字列に簡単にパディング(余白)を追加できます。本記事では、文字列の右側にスペースを詰めて幅を揃える方法を、サンプルコード付きで解説します。

右側にパディングを追加する基本構文

書式指定子の幅に負の値を指定すると、文字列は左揃えになり、足りない分だけ右側がスペースで埋められます。たとえば、全体を10文字分の幅に収めたい場合は、次のように記述します。

const string format = "{0,-10}";

この書式を文字列に適用してみましょう。

string str1 = string.Format(format, "Marks");

"Marks"は5文字なので、残り5文字分のスペースが右側に追加され、「Marks   」という形で出力されます。

ポイント:正の値と負の値の違い

  • {0,-10} … 幅10で左揃え(右側にパディング)
  • {0,10} … 幅10で右揃え(左側にパディング)

パディングの方向を間違えやすいので、符号の意味をしっかり覚えておきましょう。

サンプルコード

次の例では、科目名と点数を表形式に整えてコンソールに出力します。2つのプレースホルダーを使い、第1引数を幅10の左揃えにフォーマットしています。

using System;

public class Program {
    public static void Main() {

        // 右側にパディングを設定(幅10・左揃え)
        const string format = "{0,-10}{1}";
        string str1 = string.Format(format, "Marks", "Subject");
        string str2 = string.Format(format, "95", "Maths");

        Console.WriteLine(str1);
        Console.WriteLine(str2);
    }
}

実行結果

Marks     Subject
95        Maths

このように、短い文字列でも自動的に幅が揃うため、一覧表のような見やすい出力を実現できます。

補足:PadRightメソッドを使う方法

string.Format以外にも、String.PadRightメソッドを使えば、既存の文字列インスタンスに対して直接右側のパディングを追加できます。

string str = "Marks".PadRight(10);
Console.WriteLine($"[{str}]"); // 結果:[Marks     ]

単純に1つの文字列の幅を揃えたいだけなら、こちらの方がコードがすっきりします。

まとめ

文字列の右側にパディングを追加したい場合は、書式指定子で負の幅(例:{0,-10})を指定します。表形式の出力やログの整形など、コンソール出力を見やすく整えたい場面で、ぜひ活用してください。

  1. Pythonの文字列フォーマット徹底比較:%演算子とformat()メソッドの違い

    %演算子の落とし穴:変数とタプルの扱いPythonの%演算子(printf形式のフォーマット)は、変数単体でもタプルでも受け取ることができます。その分、意図した動作をさせるためには、非常に明示的な書き方が求められます。コード例たとえば、次のようにタプルをそのまま渡してみます。my_tuple = (1, 2, 3) My tuple: %s % my_tuple多くの人は、このコードから次のような出力を期待するでしょう。My tuple: (1, 2, 3)実際の出力結果しかし、実際に実行すると TypeError が発生します。これは、Pythonがタプルの中身を複数のフォーマット引数として

  2. Rubyの文字列フォーマット入門:%演算子と書式指定子の使い方

    この記事では、Rubyで文字列をフォーマットする方法について詳しく解説します。 なぜ文字列のフォーマットが必要なのでしょうか?例えば、10未満の数値にも先頭にゼロを付けて表示したい場合(01、02、03など)、あるいはコンソール出力を見やすいように桁を揃えて整形したい場合などが挙げられます。 他の言語ではprintf関数を使って文字列をフォーマットできます。C言語を使ったことがある人なら馴染み深いでしょう。printfでは、書式指定子(フォーマット指定子)のリストと、変数や値のリストを定義して使用します。 Rubyでの文字列フォーマットの基本 Rubyでもsprintfメソッドが利用可能ですが