修复列表中已损坏的html元素

时间:2013-09-06 14:49:18

标签: python string list replace find

我的列表看起来像这样

words = ['how', 'much', 'is</b>', 'the', 'fish</b>', 'no', 'really']

我想将<b>添加到以</b>结尾的每个字符串的开头,而不会丢失单词序列。

words = ['how', 'much', '<b>is</b>', 'the', '<b>fish</b>', 'no', 'really']

我现在已经详细阐述了很多,所以我会感激一点帮助!

谢谢!

2 个答案:

答案 0 :(得分:3)

>>> words = ['how', 'much', 'is</b>', 'the', 'fish</b>', 'no', 'really']
>>> words = ['<b>'+i if i.endswith('</b>') else i for i in words]
>>> words
['how', 'much', '<b>is</b>', 'the', '<b>fish</b>', 'no', 'really']

答案 1 :(得分:1)

如果您希望它更通用并适用于所有标签,您可以执行以下操作:

import re

def change_word(word):
    m = re.search(r'^.*</(.*)>$', word)
    return "<{0}>{1}".format(m.group(1),word)

words = ['how', 'much', 'is</b>', 'the', 'fish</b>', 'no', 'really</div>']      
words = [change_word(i) if re.match(r'^.*</(.*)>$', i) else i for i in words]
print words

结果:

 ['how', 'much', '<b>is</b>', 'the', '<b>fish</b>', 'no', '<div>really</div>']