使用字符串格式化是否可以将单词大写?例如,
"{user} did such and such.".format(user="foobar")
应该返回 "Foobar did such and such."
请注意,我非常清楚 .capitalize()
的作用;然而,这是我正在使用的代码的(非常简化版本):
请注意,我非常清楚 .capitalize() 的作用;然而,这是我正在使用的代码的(非常简化版本):
printme = random.choice(["On {date}, {user} did la-dee-dah. ",
"{user} did la-dee-dah on {date}. "
])
output = printme.format(user=x,date=y)
正如你所见,仅在.format()
中将user
定义为x.capitalize()
是不起作用的,因为它也会被(错误地)应用于第一种情况。而且由于我无法预测命运,没有办法预先知道哪个random.choice
会被选中。我该怎么办?
附注:仅仅对每个字符串分别进行格式化处理并使用.capitalize()
(即对需要它的那些字符串)并不可行,因为printme
实际上是从40多个字符串中进行选择的。