如何用长度字符串(html模板)替换字符串列表中的子字符串的多个实例?

时间:2017-10-20 09:55:34

标签: python html string for-loop

我正在尝试使用python编写一个文本文件Web文档(第一年学生学习python的基本概念)

说我有这样的HTML模板:

<!DOCTYPEhtml>
<html>
<head>
    <title>News Archive</title>
</head>

<body> 
  <br>
  <ol>

  <!--  Article 1 -->

  <h1>***TITLE***</h1>


  <img src=***IMGURL***  
  <p>***DESCRIPTION***</p>
  <p><strong> Full story: </strong> ***LINK*** </p>
  <p><strong> Dateline: </strong> ***PUBDATE*** </p>
  <br/>
  <!--  Article 2 -->  
  <h1>***TITLE***</h1>
  <img src=***IMGURL***   

  <p>***DESCRIPTION***</p>

  <p><strong> Full story: </strong> ***LINK*** </p>
  <p><strong> Dateline: </strong> ***PUBDATE*** </p>

</body>
</html>

假设我想按顺序用列表中的字符串替换\*\**TITLE***的所有实例。这是包含字符串的列表:

titles = ['HI', 'HELLO']

如何将{TITLE ***的第一个实例替换为'HI',将\*\**TITLE***的第二个实例替换为'HELLO'

我已经尝试过这个基本的for循环,但我认为我没有正确完成它(因为我只学习python的基础知识,我认为老师想要一个for循环)

for tags in range(2):
    html_code = html_template.replace('***TITLE***', titles)

提前致谢。 (PS:抱歉可怕的格式化,新的堆栈溢出)

编辑:抱歉忘了提及关键细节......
如果我想创建一个for循环替换例如*** TITLE ***及其各自的2个字符串列表,*** IMGURL ***及其各自的2个字符串列表,***描述***相应的2个字符串列表,依此类推其他占位符?

1 个答案:

答案 0 :(得分:1)

您可以指定要替换的出现次数:

for t in titles:
    html_template = html_template.replace('***TITLE***', t, 1)