Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Вниз

убрать лишнее   Найти похожие ветки 

 
Jeka   (2002-12-19 15:11) [0]

Здравствуйте мастера!
Имеется таблица вроде справочника сначала она была в Excele, потом в dbf, щас в db
Имеются поля телефон, адрес и др. Причем адрес записан полностью город,индекс,
улица. Я хотел бы удалить из этого поля(адрес) лишние(город, индекс) данные они не кчему.
Я пробывал сначала в Excele (текст по столбцам) чтоб потом удалить ненужный столбец,
но там в некоторых ячейках нет индекса или названия города и получается что например
навание улицы ставиться где восновном индекс города. Короче заморочка такая.
А в ручную удалять нет смысла слишком много данных.
Подскажите чтонибудь толковое.
Зарание благодарен!


 
DenK_vrtz   (2002-12-19 15:53) [1]

На вскидку!
Если данные введены последовательно город, индекс, улица, то:
1. что бы удалить индекс - это числа! Определить можно.
2. если город стоить первым, то удалять все символы до первого пробела.

Какая-нибудь есть закономерность ввода данных?

Удачи


 
Jeka   (2002-12-19 16:12) [2]

во многих записях попутано все, внекоторых че то нехватает


 
DenK_vrtz   (2002-12-19 16:23) [3]

Что значит попутано?
Индекс можно убрать? (исходя из того, что это набор цифр)
А если закономерностей нет, то нужен справочник городов (только где его такой взять?), по которому можно будет (может быть) определить входит ли название города в строку. А дальше дело техники!


 
TTCustomDelphiMaster   (2002-12-19 16:26) [4]

Индекс в строке найти не трудно 6 цифр подряд. Город тоже (исходя из предположения что вам не нужно записывать в каком городе этот адрес, то вы знаете в каком он городе) найти просто используя функции Pos. Ну и удалить из строки всякий мусор (" г.", "инд.", "индекс:", двойные пробелы и тд.).


 
Jeka   (2002-12-20 06:21) [5]

DenK_vrtz © справочник городов ненадо там один и тот же город, вот его то мне и надо удалить.
Вот примерный формат поля
Астана, 000000, ул.Такая 45 а некоторые записи
Астсна, ул.Такая 87 а есть еще
000000, ул.Другая 32
а я бы хотел просто - ул.Такая и все


 
DenK_vrtz   (2002-12-20 10:02) [6]

Jeka, как удалить город тебе сказал TTCustomDelphiMaster © (19.12.02 16:26), т.е. использовать функцию pos.
Про индекс уже не говорю, сказано выше!
И еще, если все улицы начинаются с "ул.<название улицы>", то ищи позицию вхождения "ул." в строке и до первого пробела после "ул." все сохраняй, включяя "ул." (хотя в этом случае могут быть проблемы, если улица имеет в названии два слова! Над этим надо подумать!!!). Потом все стираешь, а сохраненную строку копируешь!
А вот мысль пришла, как правило цифра в названии улицы пишется всегда в переди, т.е. ул.8 Марта или ул.26 Бакинских комиссаров, поэтому дойдя до первого пробела, проверь, что стоит после пробела буква или цифра. Если буква, то 80% - это улица из двух(а то и более слов), ну а, если цифра - это скорей всего номер дома.

Ух. Много написал. Дай Бог помогло! :-)


 
Jeka   (2002-12-21 10:52) [7]

Спасибо


 
Anatoly Podgoretsky   (2002-12-21 13:31) [8]

Создай новые поля, те которые тебе нужны, старое не удаляй
Затем выбери наиболее часто встречаемую комбинацию за основу и подели, те которые не соответствуют формату передалаешь вручную
При наличии поля с исходными данными можно алгоритм шлифовать постепенно, всегда есть первоисточник, спустя некоторе время эксплуатации поле можно будет удалить.

ЗЫ: эту работу надо поручить операторам, то есть тем кто допустил подобное безобразие.

ЗЫЫ: Есть еще разновидности, после преобразования по одному алгоритму, очищаешь источник для правильно сработавших и повторяешь другой алгоритм для оставшихся не пустых, и так несколько раз


 
Jeka   (2002-12-21 14:13) [9]

Спасибо



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
4-15362
С.М.
2002-11-19 15:25
2003.01.06
Как не занимать время процессора?


1-15108
trotski
2002-12-23 06:11
2003.01.06
Delphi vs WinAPI


14-15294
denisac
2002-12-04 10:38
2003.01.06
Работа началась!!!


6-15187
brestmarket
2002-11-06 14:25
2003.01.06
WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0) в свернутом виде?!


1-15114
Groove
2002-12-23 07:06
2003.01.06
ListView размер итема





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский