How to pad a string on both sides in Swift

1 Answer

0 votes
import Foundation

func padBoth(_ str: String, totalLength: Int, padChar: Character = " ") -> String {
    let strLength = str.count
    guard strLength < totalLength else { return str }

    let padTotal = totalLength - strLength
    let padLeft = padTotal / 2
    let padRight = padTotal - padLeft

    let leftPadding = String(repeating: padChar, count: padLeft)
    let rightPadding = String(repeating: padChar, count: padRight)

    return leftPadding + str + rightPadding
}

print("'" + padBoth("Swift", totalLength: 10) + "'")
print(padBoth("Swift", totalLength: 10, padChar: "*"))




/*
run:

'  Swift   '
**Swift***

*/




answered Jul 6, 2025 by avibootz

Related questions

1 answer 115 views
2 answers 137 views
1 answer 102 views
1 answer 105 views
1 answer 94 views
1 answer 115 views
1 answer 107 views
...