我想提取郵件地址包含在網站上的條目(並導出爲CSV)。該頁面被編碼,使得超過400個包含地址的條目被分組到單個網絡元素中,並且數據不能被自動刮取。地址出現在每個單個條目的兩個相同的字符串之間。提取字符串之間的字符串
E.g.
「4pm to 9pm,12345 Main St,Seattle,WA,帶上朋友!
我想提取郵件地址包含在網站上的條目(並導出爲CSV)。該頁面被編碼,使得超過400個包含地址的條目被分組到單個網絡元素中,並且數據不能被自動刮取。地址出現在每個單個條目的兩個相同的字符串之間。提取字符串之間的字符串
E.g.
「4pm to 9pm,12345 Main St,Seattle,WA,帶上朋友!
您可以使用正則表達式來實現這一點。您沒有提供任何有關您將使用的程序語言的詳細信息,因此我只會涵蓋正則表達式部分(然後您可以對如何使用您的首選語言進行研究 - 幾乎所有語言都提供了極大的支持常用表達)。
讓我們字符串
「下午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上進行了測試,並且它適用於您在評論中提供的示例。
我嘗試將其轉換爲實際的字符串,但它不起作用。以下是其中一個實際參賽作品的剪輯: 「2017年10月12日星期四下午4點至晚上9點nEagle住房抵押貸款,1110學院聖SE Ste C雷西\ n指示:Kirk D.,Lacey \ n和Sarah,Weichert房地產經紀人 - 奧林匹亞\ n請注意:如需預訂致電或發郵件給homebuyerclasswa @。請帶上麻袋午餐,需要預約,座位有限,提供茶點。「 **所有地址介於「pm \ n」和「\ nInstructors」之間** – user8786729
太棒了,明白了。謝謝你幫助noob。 :) – user8786729
最後一件事:可以調整表達式來放棄「pm \ n」和「\ nInstructors」?現在,它正在提取地址和相鄰的字符串。 – user8786729
1.什麼是那些字符串('地址出現在每個單個條目的兩個相同的字符串之間') 2.你有沒有嘗試過一些東西? – user2887596
1.例子? 2.做了什麼(代碼)? 3.你遇到了什麼問題? – 0andriy
是的,我已經花了幾個小時在RegEx試圖派生一個表達式來做到這一點 - 沒有骰子。我對HTML,RegEx和Java的知識極其有限,儘管我花了相當多的時間試圖獲得今天上午需要的東西。 – user8786729