提取以符号开头和结尾的子字符串,并用Python

时间:2015-10-20 06:13:50

标签: python string python-2.7

我试图从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")

有没有办法在替换之前首先提取子字符串的值?

1 个答案:

答案 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%%并执行上述操作