文字域替换
#定义了如下文字域:‘[$姓名$],[$单位名称$]发了一条短信!‘,要以此为模板向多个单位(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:对于文字模板可随意添加域,可任意顺序
本文出自 “11918149” 博客,转载请与作者联系!
原文:http://11928149.blog.51cto.com/11918149/1840363