如何在字符串的左右填充空格?
我有两个情况需要把一个字符串用空格填充到一定的长度,分别是从左边和右边填充。比如说,我有一个字符串:
TEST
但我需要把这个字符串变量
_____TEST1
变成长度为10个字符(在这个例子中,前面加5个空格)。注意:我用下划线表示空格(因为在StackOverflow上,Markdown显示不太对)。
我还需要弄明白怎么把它反过来,从另一边填充空格:
TEST2_____
有没有什么字符串辅助函数可以做到这一点?还是说我需要创建一个字符数组来处理这个问题?
另外要注意的是,我想保持字符串长度是一个变量(我在上面的例子中用了10这个长度,但我需要能够改变它)。
任何帮助都非常棒。如果有什么python
的函数可以处理这个,我宁愿不从头开始写代码。
谢谢!
2 个回答
17
通过 f-字符串(Python 3.6 及以上版本):
>>> l = "left aligned"
>>> print(f"{l:<30}")
left aligned
>>> r = "right aligned"
>>> print(f"{r:>30}")
right aligned
>>> c = "center aligned"
>>> print(f"{c:^30}")
center aligned
142
你可以看看 str.ljust
和 str.rjust
这两个方法。
另外一个选择可能是使用 format 方法:
>>> '{:<30}'.format('left aligned')
'left aligned '
>>> '{:>30}'.format('right aligned')
' right aligned'
>>> '{:^30}'.format('centered')
' centered '
>>> '{:*^30}'.format('centered') # use '*' as a fill char
'***********centered***********'