Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# string.Format으로 문자열 오른쪽에 패딩 추가하기

C#에서는 string.Format 메서드의 정렬(alignment) 지정자를 사용하면 문자열에 원하는 폭만큼 패딩(공백 여백)을 손쉽게 추가할 수 있습니다. 반복문이나 복잡한 문자열 연산 없이 서식 문자열 하나로 깔끔하게 처리할 수 있다는 점이 큰 장점입니다.

정렬 지정자 기본 문법

복합 서식 문자열에서 패딩은 중괄호 안에 인덱스와 정렬 폭을 쉼표로 구분하여 지정합니다.

{인덱스,정렬 폭}
  • 양수 폭(예: {0,10}) → 필드 안에서 오른쪽 정렬, 남는 공간은 왼쪽에 공백으로 채워집니다.
  • 음수 폭(예: {0,-10}) → 필드 안에서 왼쪽 정렬, 남는 공간은 오른쪽에 공백으로 채워집니다.

즉, 문자열의 오른쪽에 패딩을 추가하려면 음수 값을 사용해야 합니다.

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

이 서식을 실제 문자열에 적용하는 방법은 다음과 같습니다.

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

전체 예제 코드

두 개의 열을 왼쪽 정렬하여 표처럼 정돈된 출력을 만들어 보겠습니다.

using System;

public class Program {
    public static void Main() {

        // 각 열 폭 10자, 왼쪽 정렬 → 오른쪽에 패딩 추가
        const string format = "{0,-10}{1,-10}";

        string row1 = string.Format(format, "Marks", "Subject");
        string row2 = string.Format(format, "95", "Maths");

        Console.WriteLine(row1 + "|");
        Console.WriteLine(row2 + "|");
    }
}

실행 결과

Marks     Subject   |
95        Maths     |

| 문자를 기준으로 보면 각 항목 뒤(오른쪽)가 공백으로 채워져 전체 폭이 10자로 일정하게 유지됩니다. 이렇게 하면 성적표처럼 여러 행의 데이터를 열 단위로 깔끔하게 정렬할 수 있습니다.

참고: PadRight 메서드로 더 간단하게

오른쪽 패딩만 필요하다면 String.PadRight 메서드가 더 직관적인 선택입니다.

string padded = "Marks".PadRight(10);       // "Marks     "
string dotted = "Marks".PadRight(10, '.');  // "Marks....."

두 번째 매개변수에 문자를 지정하면 공백 대신 해당 문자로 패딩을 채울 수도 있습니다.

정리

  • string.Format("{0,-폭}") : 왼쪽 정렬 → 오른쪽에 공백 패딩
  • string.Format("{0,폭}") : 오른쪽 정렬 → 왼쪽에 공백 패딩
  • PadRight(폭) : 문자열 오른쪽에 공백 또는 지정 문자로 패딩