소스에서 함께 뭉근하게 한 MySQL에 주소 문자열이 있습니다. 정규 표현식이나 다른 방법을 사용하여 MySQL에서 문자열을 사용 가능한 부분으로 분리하는 것이 가능하다고 생각합니다. 그러나 이것이 어떻게 실현 될 수 있는지를 알지 못합니다.MySQL에서 함께 모아진 주소 문자열을 분리하는 방법
는 기본적으로 각 문자열은이 예제 같은 것을 (나는 각 비트가 무엇인지 보여 정상에 마커를 추가 한)을 찾습니다
<-------------><-------><-><-->
123 Fake StreetRESERVOIRVIC3001
<-----------------><--------------------><------><-><-->
Brooks Nursing Home123 Little Fake StreetSMITHTONNSW2001
<-------------------><-------------------><--- ><><-->
Grange Police StationShop 1 Fairytale LaneGRANGEWA8001
주소 정보를 선택적으로 두 개의 라인으로 분할 될 예정 주소 , 교외, 주 및 우편 번호. 저는 호주에 있으므로 NSW, VIC, QLD, WA, SA, NT 또는 ACT 중 하나이며 우편 번호는 항상 맨 끝에 4 자리 번호가됩니다.
가능한 방법은 교외가 항상 대문자로 표시되며 상태 및 우편 번호는 상태에 따라 마지막 6 ~ 7자를 초월 할 수 있으며 주소 정보의 처음 두 줄은 깨질 수 있습니다 그 사이에 공백 문자가없는 경우 변경됩니다.
나는 이처럼 약 10 만 건의 기록을 가지고 있으므로, 손을 거치면서 그렇게하는 것은 시간이 많이 걸릴 것입니다. 이 일을 프로그래밍 방식으로하는 방법에 대한 도움은 매우 감사하겠습니다.
"123 McDonald 's Way"가 표시되면 어떻게됩니까? 주소 부분 경계가 아닌 사례가 변경되었습니다. –
나는 mysql 대신에 perl이나 python, 또는 sed와 awk와 같은 스크립트 언어 태그로 이것을 재 게시 할 것이다. 처음 두 필드를 분리하는 데 실제 문제가있을 것입니다. 프로그래밍 언어가 이것을 공격하는 더 좋은 방법 일 것입니다. –