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 109 views
2 answers 131 views
1 answer 95 views
1 answer 90 views
1 answer 86 views
1 answer 104 views
1 answer 98 views
...