문자열에 특정 문자 채우는 방법
C#의 문자열에서 자릿수만큼 특정 문자 또는 공백을 채워야 하는 경우가 있을 수 있습니다.
예를 들어, "Hello"라는 문자열을 10자리로 설정하고 왼쪽 남는 공간은 문자 '_'로 채운다면, 다음 문자열을 생성해야 합니다.
_____Hello
C#의 string 클래스는 특정 문자열의 자릿수를 설정하고 왼쪽 또는 오른쪽에 특정 문자를 할당하는 PadLeft(), PadRight() 메서드를 제공합니다.
이번 포스팅은 PadLeft(), PadRight() 메서드 사용 방법을 소개합니다.
방법 1. 왼쪽에 문자 채우기 - PadLeft 메서드
PadLeft() 메서드는 문자열의 자릿수를 설정하고 왼쪽 남는 공간을 공백 또는 특정 문자로 설정된 새로운 문자열을 반환합니다.
PadLeft() 메서드는 오버로드된 두 가지 버전이 존재합니다.
public string PadLeft (int totalWidth);
public string PadLeft (int totalWidth, char paddingChar);
첫 번째 매개변수는 문자열의 자릿수이며, 두 번째 매개변수는 특정 문자입니다.
두 번째 매개변수가 생략된 경우 왼쪽에 남는 공간을 공백으로 설정합니다.
※ PadLeft() 메서드와 PadRight() 메서드로 채워지는 공백은 16진수 0x0020입니다. 띄어쓰기와 동일합니다.
다음 예제는 문자열 "Hello"에서 자릿수를 10으로 설정하는 PadLeft() 메서드를 호출합니다.
class Program
{
static void Main(string[] args)
{
string strValue = "Hello";
string paddingResult = strValue.PadLeft(10);
Console.WriteLine("strValue: " + strValue);
Console.WriteLine("strValue의 길이: " + strValue.Length + "\n");
Console.WriteLine("paddingResult: " + paddingResult);
Console.WriteLine("paddingResult의 길이: " + paddingResult.Length);
}
}
[실행 결과]
strValue: Hello
strValue의 길이: 5
paddingResult: Hello
paddingResult의 길이: 10
예제 1. 특정 문자로 채우는 방법
왼쪽 남는 공간을 특정 문자로 채우고 싶은 경우 PadLeft() 메서드의 두 번째 매개변수에 특정 문자를 전달합니다.
다음 예제는 문자열 "Hello"에서 자릿수를 10으로 설정하고 왼쪽 남는 공간을 문자 '_'로 설정하는 PadLeft() 메서드를 호출합니다.
class Program
{
static void Main(string[] args)
{
string strValue = "Hello";
string paddingResult = strValue.PadLeft(10, '_');
Console.WriteLine("strValue: " + strValue);
Console.WriteLine("strValue의 길이: " + strValue.Length + "\n");
Console.WriteLine("paddingResult: " + paddingResult);
Console.WriteLine("paddingResult의 길이: " + paddingResult.Length);
}
}
[실행 결과]
strValue: Hello
strValue의 길이: 5
paddingResult: _____Hello
paddingResult의 길이: 10
주의사항. PadLeft 메서드의 두 번째 매개변수
PadLeft() 메서드의 두 번째 매개변수는 char 타입의 값입니다.
따라서, 다음 소스 코드처럼 큰 따옴표(")로 문자를 감싸는 경우 컴파일 에러가 발생합니다.
string paddingResult = strValue.PadLeft(10, "_");
[에러 내용]
예제 2. 자릿수가 문자열 길이보다 작은 경우
PadLeft() 메서드의 첫 번째 매개변수로 전달된 자릿수가 문자열의 길이보다 작은 경우 기존 문자열과 동일한 문자열을 반환합니다.
class Program
{
static void Main(string[] args)
{
string strValue = "Hello";
string paddingResult = strValue.PadLeft(3, '_');
Console.WriteLine("strValue: " + strValue);
Console.WriteLine("strValue의 길이: " + strValue.Length + "\n");
Console.WriteLine("paddingResult: " + paddingResult);
Console.WriteLine("paddingResult의 길이: " + paddingResult.Length);
}
}
[실행 결과]
strValue: Hello
strValue의 길이: 5
paddingResult: Hello
paddingResult의 길이: 5
방법 2. 오른쪽에 문자 채우기 - PadRight 메서드
PadRight() 메서드는 문자열의 자릿수를 설정하고 오른쪽 남는 공간을 공백 또는 특정 문자로 설정된 새로운 문자열을 반환합니다.
PadRight() 메서드는 PadLeft() 메서드와 마찬가지로 오버로드된 두 가지 버전이 존재합니다.
public string PadRight (int totalWidth);
public string PadRight (int totalWidth, char paddingChar);
메서드 사용 방법과 주의사항은 PadLeft() 메서드와 동일하며, 공백 또는 특정 문자가 오른쪽에 채워진다는 차이점만 있습니다.
다음 예제는 문자열 "Hello"에서 자릿수를 10으로 설정하고 오른쪽 남는 공간을 문자 "_"로 설정하는 PadRight() 메서드를 호출합니다.
class Program
{
static void Main(string[] args)
{
string strValue = "Hello";
string paddingResult = strValue.PadRight(10, '_');
Console.WriteLine("strValue: " + strValue);
Console.WriteLine("strValue의 길이: " + strValue.Length + "\n");
Console.WriteLine("paddingResult: " + paddingResult);
Console.WriteLine("paddingResult의 길이: " + paddingResult.Length);
}
}
[실행 결과]
strValue: Hello
strValue의 길이: 5
paddingResult: Hello_____
paddingResult의 길이: 10
'C# > 문자열' 카테고리의 다른 글
[C#]문자열을 문자로 변환하는 방법(String to Char) (0) | 2022.08.17 |
---|---|
[C#]문자열 대소문자 변환 방법 (0) | 2022.08.16 |
[C#]문자열에서 특정 문자열로 변경하는 방법 (0) | 2022.08.16 |
[C#]문자열 공백 제거하는 방법 (0) | 2022.08.15 |
[C#]특정 문자열 제거하는 방법 (0) | 2022.08.15 |
댓글