Python的strip()相反操作是什么?

5
我正在尝试为我的Python类编写一个与strip相反的函数。
具体问题是:
有哪些函数可以用来在字符串周围添加空格,以使其达到特定长度?
谢谢!

3
"Hello, World!"的中心对齐(长度为30)。"Hello, World!"表示问候世界的一句常见程序员用语。.center()是Python字符串方法,作用是在字符串两侧添加空格,使字符串居中对齐。 - Bakuriu
1
那么这不是strip的相反操作。也许你应该重新表达你的问题。 - DevLounge
问题已经得到解答。谢谢。 - BryanLavinParmenter
无论是否已回答,它都不是strip的相反操作。相反操作应该返回与传递给opposite_of_strip的字符可迭代对象匹配的字符串的外部字符。 - demented hedgehog
3个回答

9

strip 的“相反操作”是 center 方法:

>>> 'Hello, World!'.center(30)
'        Hello, World!         '

您可以指定填充字符作为第二个参数。默认情况下,使用空格。
还有 ljustrjust 可以将文本左对齐和右对齐到一定的长度,并且可以认为是 lstriprstrip 的"相反操作"。

2
格式化字符串
"%50s World"%("Hello") 
"%-50s World"%("Hello") 
"%^50s World"%("Hello") 

或新潮的

"{0:50s} World".format("Hello")
"{0:>50s} World".format("Hello")
"{0:^50s} World".format("Hello")

这些有很棒的副作用。
"%^*s World"%(50,"Hello")

1
我相信使用 str.format 函数实现字符串对齐的正确字符为 <(表示左对齐)和 >(表示右对齐),而使用 - 则会报错:ValueError: Sign not allowed in string format specifier - Bakuriu
谢谢,我的错(我通常使用%)。 - Joran Beasley

0
尝试使用 s.center(N),其中 N 是你想要的行长度,s 是你的字符串。 例如:
>>> "xx".center(10)
'    xx    '

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接