Python拆分()不删除分隔符

这个代码几乎做我需要的东西..

for line in all_lines: s = line.split('>') 

除了删除所有'>'分隔符。

所以,

 <html><head> 

变成

 ['<html','<head'] 

有没有办法使用split()方法,但保留分隔符,而不是删除它?

有了这些结果..

 ['<html>','<head>'] 
 d = ">" for line in all_lines: s = [e+d for e in line.split(d) if e] 

如果你正在使用splitsparsingHTML,那么除非你正在编写一个针对固定和安全的内容文件的一次性脚本,否则很可能是错误的。 如果它应该在任何HTMLinput上工作,你将如何处理像<a title='growth > 8%' href='#something'>

无论如何,下面的作品适合我:

 >>> import re >>> re.split('(<[^>]*>)', '<body><table><tr><td>')[1::2] ['<body>', '<table>', '<tr>', '<td>'] 

这个怎么样:

 import re s = '<html><head>' re.findall('[^>]+>', s) 

只需分割它,然后为数组/列表中的每个元素(除了最后一个)添加尾随“>”。