5

Python で、長い文字列 "Foo Bar" を "Foo..." にするにはどうすればよいですか?

"{0:.<-10s}".format("Foo Bar") 

文字列をドットで埋めるだけです

4

2 に答える 2

7

そのためには別の関数を使用する必要があります。Python 形式のミニ言語は切り捨てをサポートしていません。

def truncate(string, width):
    if len(string) > width:
        string = string[:width-3] + '...'
    return string

"{0:<10s}".format(truncate("Foo Bar Baz", 10))

出力:

>>> "{0:<10s}".format(truncate("Foo", 10))
'Foo       '
>>> "{0:<10s}".format(truncate("Foo Bar Baz", 10))
'Foo Bar...'
于 2013-03-15T10:20:37.907 に答える
-1

必要なドット数と文字数を設定できます。3文字の後に10ドットを割り当てています

text = "Foo Bar"
dots = "." * 10
output = text[0:3] + dots
print output

出力は次のとおりです。

Foo..........
于 2015-05-08T04:07:22.487 に答える