这段代码几乎做了我需要它做的事情。
for line in all_lines:
s = line.split('>')
除非它删除了所有的'>‘分隔符。
所以,
<html><head>
变成了
['<html','<head']
有没有办法使用split()方法,但保留分隔符,而不是删除它?
有了这些结果..
['<html>','<head>']
发布于 2011-10-23 20:38:25
d = ">"
for line in all_lines:
s = [e+d for e in line.split(d) if e]
发布于 2011-10-23 22:54:33
如果您正在使用拆分来解析HTML,那么您很可能做错了,除非您正在编写针对固定且安全的内容文件的一次性脚本。如果它可以处理任何超文本标记语言的输入,你将如何处理像<a title='growth > 8%' href='#something'>
这样的东西
无论如何,下面的方法对我来说是有效的:
>>> import re
>>> re.split('(<[^>]*>)', '<body><table><tr><td>')[1::2]
['<body>', '<table>', '<tr>', '<td>']
发布于 2011-10-23 20:45:35
这样如何:
import re
s = '<html><head>'
re.findall('[^>]+>', s)
https://stackoverflow.com/questions/7866128
复制相似问题