目录
之前我在《Java面试案例-String interpolation的实现》(左侧标题为超链接,点击可以跳转)这篇文章中,展示了Java实现String interpolation的代码实践(具体的题目也在该文中,这里不再重复)。最近在学习Python,遂用这门语言进行了实践。
本文的思路和Java那篇文章一样,也是用正则表达式实现。
代码
import re
def interpolation(string, keyValues):
for i in keyValues.keys():
string = re.sub(r'\${{\s*' + i + '\s*}}', keyValues[i], string)
print("还剩余%d个变量未替换" % len(re.findall(r'\${{\s*\S+\s*}}', string)))
return string
的确,Python的代码要简介一些。但是我还是更喜欢Java。
测试
调用测试一下,得到的结果是正确的。
kv1 = {'姓名': '农民工老王', '年龄': "30"}
string1 = "博主的名字是${{姓名}},年龄是${{年龄}}。"
print(interpolation(string1, kv1))
kv2 = {'name': '农民工老王', 'city': "成都"}
string2 = "博主的名字是${{ 姓名 }},所在的城市是${{ city }}。"
print(interpolation(string2, kv2))
如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。