Форум: "Основная";
Текущий архив: 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