我有一个包含大量信息的文件。例如,所有行都遵循与此相同的模式:
<school>Nebraska</school>
我正在尝试使用split函数来检索'Nebraska'。这就是我到目前为止所做的,但我不知道该怎么做才能让它切断两个部分,而不仅仅是第一部分。
with open('Pro.txt') as fo:
for rec in fo:
print(rec.split('>')[1])
有了这个我得到:
Nebraska</school
答案 0 :(得分:1)
你已经切断了部分字符串。继续以同样的方式:
>>> s = '<school>Nebraska</school>'
>>> s.split('>')[1]
'Nebraska</school'
>>> s.split('>')[1].split('<')[0]
'Nebraska'
也就是说,你应该使用像BeautifulSoup这样的HTML解析器来解析HTML。
答案 1 :(得分:0)
s = '<school>Nebraska</school>'
在:
s.split('>')
出:
['<school', 'Nebraska</school', '']
在:
s.split('>')[1].split('<')
出:
['Nebraska', '/school']
在:
s.split('>')[1].split('<')[0]
出:
'Nebraska'
答案 2 :(得分:0)
您可以使用正则表达式:
import re
regexp = re.compile('<school>(.*?)<\/school>')
with open('Pro.txt') as fo:
for rec in fo:
match = regexp.match(rec)
if match:
text = match.groups()[0]
print(text)