2017-10-20 38 views
0

我试图使用python(第一年UNI学生学习蟒蛇的基本概念)如何用长长的字符串(html模板)中的字符串列表来替换子字符串的多个实例?

说我有一个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'] 

我如何将取代*** ***标题与'HI'一审和\*\**TITLE***'HELLO'二审?

我试过这个基本的循环,但我不认为我已经正确地做了(因为我也只是在学习蟒蛇的基础,我觉得老师想要一个for循环)

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

提前致谢。 (PS:对不起,可怕的格式,新的堆栈溢出)

编辑:对不起忘了提至关重要的细节...
如果我想创建一个for循环替换例如*** TITLE ***及其各自的2个字符串列表,*** IMGURL ***及其各自的2个字符串列表,*** DESCRIPTION及其各自的2个字符串列表,以及其他占位符的其他内容?

回答

1

可以指定你想多少次更换:

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

@ navre3这将取代'第一次出现“*** *** TITLE”'与第一项't'和等等。 –

+0

如果我想要创建一个for循环来替换例如\ * \ ** TITLE ***及其各自的2个字符串列表,\ * \ ** IMGURL ***及其各自的2个字符串列表,\ * \ * *说明***与其各自的2个字符串列表,等等占位符的其余部分? – navre3

相关问题