달나라 노트

C# : PadLeft, PadRight (lpad, rpad) 본문

C#/C#

C# : PadLeft, PadRight (lpad, rpad)

CosmosProject 2022. 4. 21. 02:36
728x90
반응형

 

 

 

C#에서는 Redshift의 LPAD, RPAD 함수와 동일한 기능을 가진 method를 제공합니다.

 

 

 

 

 

Syntax

String.PadLeft(number, char)
String.PadRight(number, char)

 

사용법은 위와 같습니다.

PadLeft는 총 길이가 number가 되도록 String의 왼쪽에 char를 반복하여 붙여넣습니다. (LPAD와 동일합니다.)

PadLeft는 총 길이가 number가 되도록 String의 오른쪽에 char를 반복하여 붙여넣습니다. (RPAD와 동일합니다.)

 

 

 

 

using System;

class MyProgram
{
    public static void Main()
    {
        String str_test = "Apple";
        String str_test_left_padded = str_test.PadLeft(10, 'Z');
        String str_test_right_padded = str_test.PadRight(10, 'Z');

        Console.WriteLine(str_test);
        Console.WriteLine(str_test_left_padded);
        Console.WriteLine(str_test_right_padded);
    }
}


-- Result
Apple
ZZZZZApple
AppleZZZZZ

 

위 예시를 봅시다.

 

- String str_test_left_padded = str_test.PadLeft(10, 'Z');

PadLeft method는 위처럼 String에 적용할 수 있습니다.

PadLeft의 인자로 10과 'Z'가 적혀있습니다.

따라서 str_test에 저장된 String의 왼쪽에 Z를 이어붙이는데 String의 총 길이가 10이 될 때 까지 이어붙이라는 의미입니다.

 

왼쪽에 Z 5개를 이어붙여 ZZZZZApple로 만들면 총 길이가 10이 되므로 ZZZZZApple가 return됩니다.

 

 

- String str_test_right_padded = str_test.PadRight(10, 'Z');

PadRight method는 모든게 동일하지만 char를 붙이는 방향이 str_test의 오른쪽입니다.

따라서 결과는 AppleZZZZZ가 됩니다.

 

 

 

 

 

 

 

 

만약 PadLeft, PadRight method가 적용된 String의 길이가 이미 더 길다면 char를 추가하지 않습니다.

아래 예시를 보시죠.

 

using System;

class MyProgram
{
    public static void Main()
    {
        String str_test = "Apple";
        String str_test_left_padded = str_test.PadLeft(3, 'Z');
        String str_test_right_padded = str_test.PadRight(3, 'Z');

        Console.WriteLine(str_test);
        Console.WriteLine(str_test_left_padded);
        Console.WriteLine(str_test_right_padded);
    }
}


-- Result
Apple
Apple
Apple

 

위 예시에서 PadLeft, PadRight method는 모두 str_test라는 String에 적용되었습니다.

PadLeft, PadRight method에 전달된 인자를 보면 두 method 모두 총 길이가 3이 되도록 Z를 이어붙이라는 의미입니다.

 

근데 str_test에는 Apple이라는 String이 저장되어있고 Apple은 이미 5글자로 총 길이 3을 넘어갑니다.

따라서 Z를 추가하지 않고 str_test 그대로를 return하게됩니다.

 

 

 

 

 

 

728x90
반응형
Comments