Search code examples
swiftstringpadding

Padding a swift String for printing


I'm trying to print a list of Strings all padded to the same width.

In C, I would use something like printf("%40s", cstr), where cstr is a C string.

In Swift, the best I could come up is this:

line += String(format: "%40s",string.cStringUsingEncoding(<someEncoding>))

Is there a better way ?


Solution

  • For Swift >= 3

    line += string.padding(toLength: 40, withPad: " ", startingAt: 0)
    

    For Swift < 3

    NSString has the stringByPaddingToLength: method:

    line += string.stringByPaddingToLength(40, withString: " ", startingAtIndex: 0)