如何替换 python 中两个大括号之间的值?
How to replace values between two curly brackets in python?
我想替换两个大括号之间字符串中的值。
例如:
string = f"""
my name is {{name}} and I'm {{age}} years old
"""
现在我想用一些值替换姓名和年龄。
render_param = {
"name":"AHMED",
"age":20
}
所以最终输出应该是。
my name is AHMED and I'm 20 years old.
您可以使用模板渲染引擎:
from django.template import Template, Context
template = Template("my name is {{ name }} and I'm {{ age }} years old")
render_param = {
'name':'AHMED',
'age':20
}
result = template<strong>.render(</strong>Context(render_param)<strong>)</strong>
如果你真的想要 Python,正则表达式可以做到:
import re
render_param = {
"name":"AHMED",
"age":20
}
string = f"""
my name is {{name}} and I'm {{age}} years old
"""
print(re.sub("{(.*?)}",lambda m:str(render_param[m.group(1)]),string))
结果
my name is AHMED and I'm 20 years old.
但是当然,如果您有 django,请使用它的 built-in 功能,如其他答案所示。
我想替换两个大括号之间字符串中的值。
例如:
string = f"""
my name is {{name}} and I'm {{age}} years old
"""
现在我想用一些值替换姓名和年龄。
render_param = {
"name":"AHMED",
"age":20
}
所以最终输出应该是。
my name is AHMED and I'm 20 years old.
您可以使用模板渲染引擎:
from django.template import Template, Context
template = Template("my name is {{ name }} and I'm {{ age }} years old")
render_param = {
'name':'AHMED',
'age':20
}
result = template<strong>.render(</strong>Context(render_param)<strong>)</strong>
如果你真的想要 Python,正则表达式可以做到:
import re
render_param = {
"name":"AHMED",
"age":20
}
string = f"""
my name is {{name}} and I'm {{age}} years old
"""
print(re.sub("{(.*?)}",lambda m:str(render_param[m.group(1)]),string))
结果
my name is AHMED and I'm 20 years old.
但是当然,如果您有 django,请使用它的 built-in 功能,如其他答案所示。