我有以下字符串(换行符,空格和所有内容):
<br>
Birthday
: 1/1/2014
<br>
Best Win
: Soccer, (Texas Tournament 2004)
</br></br>
提取生日&#34;生日&#34;最佳方法是什么?和#34;最佳胜利&#34;成为一个词典?
"Birthday": "1/1/2014"
"Best Win": "Soccer, (Texas Tournament 2004)
日期可以是任何东西,Best Win之后的东西:可能是任何东西,但它总是在
之前</br>
答案 0 :(得分:1)
通常,您可能希望使用像BeautifulSoup这样的库。我将介绍如何使用这个特定的字符串。
让我们先摆脱空格和换行符。我假设您将字符串保存为s
。
>>> s = s.replace('\n','') #remove newlines
>>> s
'<br> Birthday: 1/1/2014 <br> Best Win: Soccer, (Texas Tournament 2004) </br></br>'
秒。
现在我们可以拆分<br>
模式来分离各个部分。
>>> parts = s.split('<br>')
>>> parts
['',
'生日:2014年1月1日', '最佳胜利:足球,(德州赛事2004)']
现在我们想要删除空白部分,并删除那些额外的</br>
(通过用空字符串替换它们。
>>> parts = [part.replace('</br>','') for part in parts if part != '']
>>> parts
[' Birthday: 1/1/2014 ',
'最佳胜利:足球,(德州赛事2004)']
现在,我们希望摆脱零件两侧的所有额外空间。
>>> parts = [part.strip(' ') for part in parts]
>>> parts
['Birthday: 1/1/2014', 'Best Win: Soccer, (Texas Tournament 2004)']
现在,最后,我们可以从各个部分创建一个字典。
>>> key_val = [ tuple(part.split(':')) for part in parts]
>>> key_val
[('Birthday', ' 1/1/2014'), ('Best Win', ' Soccer, (Texas Tournament 2004)')]
>>> my_dict = dict(key_val)
>>> my_dict
{'Best Win': ' Soccer, (Texas Tournament 2004)', 'Birthday': ' 1/1/2014'}
显然,你会想要使用更好的变量名来描述实际发生的事情。我对你的问题不太了解,所以我的问题很不明智。