我试图从Python中的字符串中提取一个单词,每个字母用%%
填充,并用基于子字符串值的变量值替换它。
像这样:
name1 = "Alice"
name2 = "Bob"
date = datetime.datetime.now()
input = "Hi, my name is %%name1%%. Today is %%date%%"
output = ##Find and Replace Line Here
print output
会产生"Hi, my name is Bob. Today is 2015-10-19 23:07:17.342105"
。
我找到了replace()
方法,我只能找到并用预设值替换整个子字符串,如下所示:
print input.replace("%%name0%%", "name1")
有没有办法在替换之前首先提取子字符串的值?
答案 0 :(得分:2)
你不会只使用python的格式字符串替换吗?
>>> args = {
... 'name1': "Alice",
... 'name2': "Bob",
... 'date': datetime.datetime.now()
... }
>>> print "Hi, my name is {name1}. Today is {date}".format(**args)
Hi, my name is Alice. Today is 2015-10-20 01:21:36.020427
如果您必须使用%%name1%%
{name1}
映射到%%name1%%
并执行上述操作