为了账号安全,请及时绑定邮箱和手机立即绑定

Python split()而不删除定界符

Python split()而不删除定界符

慕勒3428872 2019-11-03 15:04:16
这段代码几乎可以满足我的需求。for line in all_lines:    s = line.split('>')除了删除所有的'>'分隔符。所以,<html><head>变成['<html','<head']有没有一种方法可以使用split()方法但保留定界符而不是删除定界符?有了这些结果。['<html>','<head>']
查看完整描述

3 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

d = ">"

for line in all_lines:

    s =  [e+d for e in line.split(d) if e]


查看完整回答
反对 回复 2019-11-04
?
守候你守候我

TA贡献1802条经验 获得超10个赞

如果要使用拆分来解析HTML,则极有可能做错了,除非您编写的是针对固定和安全内容文件的单发脚本。如果应该在任何HTML输入上使用它,您将如何处理<a title='growth > 8%' href='#something'>?


无论如何,以下对我有用:


>>> import re

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

['<body>', '<table>', '<tr>', '<td>']



查看完整回答
反对 回复 2019-11-04
?
墨色风雨

TA贡献1853条经验 获得超6个赞

只需将其拆分,然后为数组/列表中的每个元素(除最后一个元素外)在其后添加“>”。

查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 315 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信