2017-10-16 5 views
-1

웹 사이트의 항목에 포함 된 메일 주소를 추출하고 CSV로 내보내려고합니다. 페이지는 400 개가 넘는 주소가 포함 된 항목이 하나의 웹 요소로 그룹화되어 데이터가 자동으로 스크랩되지 않도록 코딩됩니다. 주소는 모든 단일 항목에 대해 두 개의 동일한 문자열 사이에 나타납니다.문자열 사이의 문자열 추출

예.

"오후 4시에서 오후 9 시까 지, 12345 Main St, Seattle, WA, 친구를 데려 와라!"

+1

1. 그 문자열은 무엇입니까 ('모든 단일 항목에 대해 두 개의 동일한 문자열 사이에 주소가 나타납니다') 2. 이미 시도 했습니까? – user2887596

+0

1. 예? 2. 무슨 일을 했습니까 (코드)? 3. 당신이 만난 문제는 무엇입니까? – 0andriy

+0

예, 저는 RegEx에서 이것을 수행하는 표현식을 파생 시키려고 2 시간을 보냈습니다. 아무런 주사위도 없습니다. 저는 오늘 아침에 필요한 것을 얻기 위해 꽤 많은 시간을 보냈지만 HTML, RegEx, Java에 대한 지식은 극히 제한되어 있습니다. – user8786729

답변

0

정규식을 사용하여이를 구현할 수 있습니다. 당신은 그렇게하기 위해 사용하는 프로그램 언어에 대한 세부 사항을 제공하지 않으므로 정규 표현식 부분 만 다룰 것입니다. 그런 다음 원하는 언어로 작업하는 방법에 대한 연구를 할 수 있습니다. 거의 모든 언어가 정규 표현식).

문자열이 걸릴 수 있습니다 "오후 9시에서 오후 4시까지이 12345 MAIN ST는, 시애틀, WA가 친구를 데려에게!" 당신이 원하는 문자열의 일부를 추출하는 정규 표현식을 사용

:

/^4pm to 9pm, ([A-Za-z0-9, ]+), Bring friends\!$/ 
여러분의 필요에 참석하기 위해 조정할 수 있습니다

가 (당신은 단지 문자열의 한 샘플을 제공, 다른 샘플은 영향을 미칠 수 결과). 그것을 시도 regex101.com

UPDATE :

코멘트에 따라, 당신은 같은 정규 표현식을 사용할 수 있습니다 : 당신은 (주소에 나타날 수있는 자) 문자 클래스를 수정해야

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

을 . regex101.com에서 테스트 해본 결과, 주석에서 제공 한 예제에서 작동했습니다.

+0

실제 문자열로 변환하려고 시도했지만 작동하지 않았습니다. 다음은 실제 항목 중 하나의 예입니다. "10/12/2017 목요일 오후 4시에서 9 시까 지 \ nEagle Home Mortgage, 1110 College St SE Ste C Lacey \ nInstructors : Kirk D., Lacey 및 Sarah, Weichert Realtor - Olympia \ n 참고 : 예약시 전화 또는 이메일 : homebuyerclasswa @. 자루 점심을 가져 오십시오. 예약 필수. 좌석 제한. 음료수 제공. " ** 모든 주소는 "pm \ n"과 "\ nInstructors"사이에 있습니다 ** – user8786729

+0

좋습니다. 멍청한 놈을 도와 줘서 고마워. :) – user8786729

+0

마지막으로 한 가지 : "pm \ n"및 "\ nInstructors"를 삭제하기 위해 표현식을 조정할 수 있습니까? 지금은 주소와 인접한 문자열을 추출하고 있습니다. – user8786729