본문 바로가기

Mobile/Kotlin

[Kotlin-문법] padStart 와 padEnd

반응형

padStart는 String을 포함한 문자열을 length 만큼 만드는데, 부족한 길이만큼 앞쪽에 문자(padChar)를 붙이는 함수입니다. 예를 들어 000 부터 999 까지 세면서 "001, 002, 010"과 같이 자리 수를 유지하면서 앞에 0을 붙여줄 때 사용합니다.

fun String.padStart(length: Int, padChar: Char = ' '): String

파라미터로는 length 와 padChar 를 받습니다.

1) padChar: 반복할 문자(기본값: ' ')
2) length: padChar를 반복할 숫자입니다. ( length 로 받은 숫자 - String 길이 )

아래 예시를 참고해서 보겠습니다.

var answer1 = "1".padStart(3)
println(answer1)
// 출력값:  1

padStart의 파라미터인 padChar는 기본값이 공백(' ')입니다. 따라서 최초의 값은 "   "(공백 3칸) 입니다. 여기에서 앞에 문자열 "1"이 있기 때문에 총 길이가 3칸인 문자열에 "1"을 포함한 값이 출력되어야 합니다. 출력값은 "  1"(공백 2칸 + 1) 입니다.

var answer2 = "10".padStart(3, '0')
println(answer2)
// 출력값:010

이번에는 padChar를 받은 경우입니다. padStart만 실행했을 때 초기 값은 "000" 입니다. 문자 '0'을 3번 반복한 문자열은 "000"이기 때문입니다. 여기에 앞에 문자열이 "10"이 들어와 있습니다. 문자열의 길이는 2이기 때문에 뒤에 두 자리를 문자열로 바꿔 "010"이 됩니다.

아래와 같이 전화번호의 앞자리를 가려줄 때도 사용이 가능합니다.

var answer3 = "0447".padStart( 11, '*')
println(answer3)
// 출력값:*******0447

padEnd 는 앞에서부터 문자열이 시작하고 남은 자리수를 뒤에서 채워주는 형태입니다.

var answer4 = "0447".padEnd( 11, '*')
println(answer4)
// 출력값:0447*******
반응형