我记得我知道有一种简单的方法可以很容易地在Python中将字符串段插入到其他字符串中,但我不记得它是如何完成的。例如,假设我正在使用Python编辑HTML,它看起来像这样:
<html>
<b>Hello, World!</b>
<b>%</b>
</html>
所以,让我们说这个HTML代码存储在一个名为html的变量中。现在,假设我想操作此代码并输入以下字符串“我的名字是Bob”而不是第二个b标记中的%。
如果有人知道我在说什么,请回答,这是我想要使用的一个非常酷的功能。谢谢!
答案 0 :(得分:1)
您可以附加%和元组值:
name = "Bob"
html = "Hello, %s" % (name)
或者命名占位符并使用字典:
html = "Hello, %(name)s" % { name: name }
或使用str.format()
html = "Hello, {0}".format("name")
所有三个都会产生字符串Hello, Bob
。
您也可以像这样保留未绑定的字符串
html = "Hello, %s"
然后在必要时绑定占位符
print html
>>> Hello, %s
for name in ["John", "Bob", "Alice"]:
print html % name
>>> Hello, John
>>> Hello, Bob
>>> Hello, Alice
答案 1 :(得分:1)
html='''<html>
<b>Hello, World!</b>
<b>%s</b>
</html>''' % "My name is Bob"
这是简单的字符串格式。您还可以使用以下内容(您可以多次使用{variable}
将其插入多个位置):
html='''<html>
<b>Hello, World!</b>
<b>{variable}</b>
</html>'''.format(variable="My name is Bob")
或如果要在其中替换“%”,则可以使用以下内容:
html='''<html>
<b>Hello, World!</b>
<b>%</b>
</html>'''.replace('%','Hello my name is Bob')
答案 2 :(得分:1)
有一种简单的方法可以使用字符串模板
有一个示例代码
import string
htmlTemplate = string.Template(
"""
<html>
<b>Hello, World!</b>
<b>$variable</b>
</html>
""")
print htmlTemplate.substitute(dict(variable="This is the string template"))
您可以使用$
在模板字符串中定义变量