Created
April 27, 2021 17:03
-
-
Save tkafka/705437a358188e55076a0e4799131231 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
extension String { | |
func padding(leftTo paddedLength: Int, withPad pad: String = " ", startingAt padStart: Int = 0) -> String | |
{ | |
if count < paddedLength { | |
let rightPadded = padding(toLength: max(count, paddedLength), withPad: pad, startingAt: padStart) | |
return "".padding(toLength: paddedLength, withPad: rightPadded, startingAt: count % paddedLength) | |
} else { | |
return self | |
} | |
} | |
func padding(rightTo paddedLength: Int, withPad pad: String = " ", startingAt padStart: Int = 0) -> String | |
{ | |
if count < paddedLength { | |
return padding(toLength: paddedLength, withPad: pad, startingAt: padStart) | |
} else { | |
return self | |
} | |
} | |
func padding(sidesTo paddedLength: Int, withPad pad: String = " ", startingAt padStart: Int = 0) -> String | |
{ | |
if count < paddedLength { | |
let rightPadded = padding(toLength: max(count, paddedLength), withPad: pad, startingAt: padStart) | |
return "".padding(toLength: paddedLength, withPad: rightPadded, startingAt: (paddedLength + count) / 2 % paddedLength) | |
} else { | |
return self | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment