Currently have code that looks something like;
print '{: <5}'.format('test')
This will pad my string with ' '
if it is less than 5 characters. If the string is more than 5 characters, I'd need the string to be truncated.
Without explicitly checking the length of my string before formatting it, is there a better way to pad if less than fixed length or truncate if greater than fixed length?
You can use 5.5
to combine truncating and padding so that the output will always be of length of five:
'{:5.5}'.format('testsdf')
# 'tests'
'{:5.5}'.format('test')
# 'test '
You could use str.ljust
and slice the string:
>>> 'testsdf'.ljust(5)[:5]
'tests'
>>> 'test'.ljust(5)[:5]
'test '
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With