文字域替换
#定义了如下文字域:'[$姓名$],[$单位名称$]发了一条短信!',要以此为模板向多个单位(lsdw是单位列表)发送短信
import re
lsdw = [{'单位名称': '单位一', '姓名': '张三'},
{'单位名称': '单位二', '姓名': '李四'},
{'单位名称': '单位三', '姓名': '王二'}]
s = '[$姓名$],[$单位名称$]发了一条短信!'#文字模板
rc = re.compile('\[\$.{1,6}\$\]')
ls = rc.findall(s)
lssend = [s] * len(lsdw)
i = 0
for l in ls:
j = 0
for sd in lssend:
key = l.replace('[$', '').replace('$]', '')
lssend[j] = sd.replace(l, lsdw[j][key])
j += 1
i += 1
print(lssend)
结果如下:
['张三,单位一发了一条短信!', '李四,单位二发了一条短信!', '王二,单位三发了一条短信!']
ps:对于文字模板可随意添加域,可任意顺序
转载于:https://blog.51cto.com/11928149/1840363