2017-10-16 64 views
-1

我想提取邮件地址包含在网站上的条目(并导出为CSV)。该页面被编码,使得超过400个包含地址的条目被分组到单个网络元素中,并且数据不能被自动刮取。地址出现在每个单个条目的两个相同的字符串之间。提取字符串之间的字符串

E.g.

“4pm to 9pm,12345 Main St,Seattle,WA,带上朋友!

+1

1.什么是那些字符串('地址出现在每个单个条目的两个相同的字符串之间') 2.你有没有尝试过一些东西? – user2887596

+0

1.例子? 2.做了什么(代码)? 3.你遇到了什么问题? – 0andriy

+0

是的,我已经花了几个小时在RegEx试图派生一个表达式来做到这一点 - 没有骰子。我对HTML,RegEx和Java的知识极其有限,尽管我花了相当多的时间试图获得今天上午需要的东西。 – user8786729

回答

0

您可以使用正则表达式来实现这一点。您没有提供任何有关您将使用的程序语言的详细信息,因此我只会涵盖正则表达式部分(然后您可以对如何使用您的首选语言进行研究 - 几乎所有语言都提供了极大的支持常用表达)。

让我们字符串

“下午4点至晚上9点,12345 MAIN ST,西雅图,华盛顿,带朋友!”

使用正则表达式来提取你想要的字符串的一部分:

/^4pm to 9pm, ([A-Za-z0-9, ]+), Bring friends\!$/ 

可以调整来参加你的需要(只提供字符串的1个样品,其他样品可以影响结果)。尝试在regex101.com

UPDATE:

基础上的评论,你可以使用正则表达式,如:

/pm\n([A-Za-z0-9, ]+)\nInstructors/ 

您应该修改字符类(可以出现在地址的字符) 。我已经在regex101.com上进行了测试,并且它适用于您在评论中提供的示例。

+0

我尝试将其转换为实际的字符串,但它不起作用。以下是其中一个实际参赛作品的剪辑: “2017年10月12日星期四下午4点至晚上9点nEagle住房抵押贷款,1110学院圣SE Ste C雷西\ n指示:Kirk D.,Lacey \ n和Sarah,Weichert房地产经纪人 - 奥林匹亚\ n请注意:如需预订致电或发邮件给homebuyerclasswa @。请带上麻袋午餐,需要预约,座位有限,提供茶点。“ **所有地址介于“pm \ n”和“\ nInstructors”之间** – user8786729

+0

太棒了,明白了。谢谢你帮助noob。 :) – user8786729

+0

最后一件事:可以调整表达式来放弃“pm \ n”和“\ nInstructors”?现在,它正在提取地址和相邻的字符串。 – user8786729

相关问题