如何填充字符串长度?

时间:2015-06-15 23:17:57

标签: python python-2.7

我有一个字符串,例如

s1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse egesta'

s2 = 'Lorem'

我需要填写#34; _" (或其他字符)长度是20的倍数,如下所示:

s1f = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse egesta_____'

s2f = 'Lorem____________________'

我该怎么办?我知道我可以使用ljust但我不知道如何计算其余部分的长度。

3 个答案:

答案 0 :(得分:4)

有一种名为ljust的方法:

get_header

为了减少单行中的混乱,您只需创建一个单独的函数:

>>> s2f = 'Lorem'
>>> s2f = s2f.ljust(len(s2f) + (20 - len(s2f) % 20), '_')
>>> s2f
'Lorem_______________'

然后,

>>> def get_multiples(string):
        return len(string) + (20 - len(string) % 20)

答案 1 :(得分:0)

这里有sberry" 20-len(sf1)%20"想法。

def charfiller(the_string, filler_character, multiple_of):
    extra_characters = multiple_of - len(the_string) % multiple_of
    the_string = the_string + (filler_character * extra_characters)
    return the_string


s1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse     egesta'
s2 = 'Lorem'
s1_filled = charfiller(s1, '_', 20)
s2_filled = charfiller(s2, '_', 20)
print s1_filled
print s2_filled
print len(s1_filled)
print len(s2_filled)
  

Lorem ipsum dolor坐下来,精神上的精神。 Suspendisse egesta_____   的Lorem _______________

     

80

     

20

答案 2 :(得分:-2)

这样的东西?

 string_to_modify = "something"
 str_ = ''
 for i in range(20 - len(string_to_modify ) % 20)
     str_ = str_+"_"
 string_to_modify = string_to_modify + str_