如何在string.format
内进行变量字符串切片。
"{0[:2]} Some text {0[2:4]} some text".format("123456")
结果我想要这样的结果。
12有些文字34有些文字
答案 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:])