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