도로주소를 디비로 만들려고 하는데 제공하는 데이타가 애매하게 되어 있군요..
정부에서 제공하는 텍스트 데이타가 아래와 같이 되어 있습니다.
4311110100|충청북도|청주시 상당구|영동||0|87|4|431113236004|교서로|0|1|0|||4311110100100870004047440|01|4311152500|중앙동|28546||||||알리안츠생명빌딩|0|28546|0||
특징은 '청주시 상당구'처럼 한필드에 공백이 있고, 영동 다음의 데이타는 없기 때문에 구분자가 연속으로 나옵니다. 즉 || 이렇게
데이타가 되어 있어서 구분을 할 수 없군요
slList.Delimiter := '|';
slList.DelimitedText:=Str;
이럴경우 '청주시 상당구' 처럼 글자가 공백인 경우에는 다르게 구분해버리네요...(..'청주시', '상당구'..)
델파이7을 사용중이라 StrictDelimiter 프로퍼티는 지원이 안되네요....
그래서 공백을 없애고자
ExtractStrings(['|'],[],PChar(Str),slList);를 사용하면 데이타가 없는구분자의 공백이 데이타로 들어오지 않네요..
이때에는 '청주시 상당구','영동','0','874'..처럼 '영동' 다음의 공백은 없어져 버려요..
이데이타를 제대로 추출할 방법이 없을까요?
함수를 따로 만들어야 할까요?
|