如何将一条漂亮的双股线分割成特定的类别?

2024-04-25 06:35:49 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我正在用BeautifulSoup做一些webscraping的过程中,得到了如下格式的字符串序列:

"PRICE. ADDRESS, PHONE#, " '<a href="WEBSITE">WEBSITE</a>

为了向您展示我的意思,这里有两个示例说明如何在HTML文本中显示这些字符串。你知道吗

"$10. 2109 W. Chicago Ave., 773-772-0406, "'<a href="http://www.theoldoaktap.com/">theoldoaktap.com</a>

"$9. 3619 North Ave., 773-772-8435, "'<a href="http://www.cemitaspuebla.com/">cemitaspuebla.com</a>

最好的办法是什么?如果在价格后面加一个逗号(本可以直接拆分(“,”)并按索引处理它们,那就很容易了,但我现在还有什么其他选择呢?不能按句点分割,因为某些带有方向性街道的地址前面有句点(即芝加哥大街西)。你知道吗

最好的解决方案是split()并提取第一个字符串(price),然后用剩余的索引生成一个新字符串,然后用逗号进行拆分(split(“,”)?似乎超级非python-y,我也不确定这是否有效。你知道吗

最后,我想以

价格=10美元

位置=芝加哥大街西2109号

电话#=773-772-0406

网站=http://www.theoldoaktap.com

提前谢谢大家。我的脑子被炸了。你知道吗


Tags: 字符串comhttpwww价格websitesplithref
1条回答
网友
1楼 · 发布于 2024-04-25 06:35:49
import re
test = '"$10. 2109 W. Chicago Ave., 773-772-0406, "\'<a href="http://www.theoldoaktap.com/">theoldoaktap.com</a>'
extracted_entities = re.match(r'"\$(\d+)\. ([^,]+), ([\d-]+), "\'<a href="([^"]+)"', test)
print extracted_entities.groups()

基本上,由于字符串的格式非常严格,您可以简单地使用正则表达式使用一些预先确定的模式提取其组件。如果你打算经常做这些类型的项目,我强烈建议你学习regex,它是一个非常强大的工具!你知道吗

引用:https://docs.python.org/2/howto/regex.html

相关问题 更多 >