如何在string.format中使用字符串切片

时间:2016-11-29 04:02:19

标签: python

如何在string.format内进行变量字符串切片。

"{0[:2]} Some text {0[2:4]} some text".format("123456")

结果我想要这样的结果。

  

12有些文字34有些文字

1 个答案:

答案 0 :(得分:2)

你做不到。您可以做的最好是限制打印字符串的字符数(大致相当于指定切片结束),但不能指定任意的开始或结束索引。

将数据保存到命名变量并将切片传递给format方法,它更易读,更直观,更容易让解析器在发生错误时识别错误:

mystr = "123456"
"{} Some text {} some text".format(mystr[:2], mystr[2:4])

如果你真的想要,你可以将一些工作从那里转移到格式字符串,但这不是一个巨大的改进(事实上,当最终需要切片时,涉及更大的临时工作):

"{:.2s} Some text {:.2s} some text".format(mystr, mystr[2:])