Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Поиск в текстовом файле

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4

Открыть новую тему     Написать ответ в эту тему

DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
А если у меня файл не совсем стандартный, т.е. в нём есть и организации, если пользоваться блокнотом, тогда он мне все единичные пробелы заменит на ту длинну, которую я укажу, но мне этого не надо, мне надо отделить название организаций от адреса и телефона, и чтиоб между ними была определённое расстояние...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 12:26 08-06-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DroN_S
тогда нужна прога. Приведи пример, чтобы стало понятно чем они отличаются. В принцпе могу и рабочий код написать, но это будет только после сдачи диплома (через 2 недели)

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 12:35 08-06-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
В общем вот такое различие:
 
АО "Тюменьэнерго" Тобольская ТЭЦ  Тобольск                    0  Гл.щит управления  5-20-48   - это ОРГАНИЗАЙЦИЯ
 
Загваздина Г.А.  2 Северная                   47   4-46-58 - это ЧАСТНИКИ...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 13:44 08-06-2005 | Исправлено: DroN_S, 13:45 08-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мда. Плавно переходим к искуственному интеллекту.
С фамилиями еще хоть как-то понятно, а вот как отдирать название организации от адреса - не очень. Если, конечно, оно не отделяется как минимум двумя пробелами и в названии организации двойные пробелы отсутствуют. В таком случае можно поколдовать с регулярными выражениями.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 16:53 08-06-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Структура написания для организации приведена, она одинаковая, а вот с фамилиями они меняются...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 22:50 08-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
Что значит одинакова? По этому примеру я вижу такую структуру: слово <пробел> "слово в кавычках" <пробел> еще два слова через пробел
И я что-то сомневаюсь, что так будет всегда.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 07:06 09-06-2005
mr_eoi



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evle
07:06 09-06-2005
Цитата:
Что значит одинакова?  

Наверное имеется ввиду, что после имени органицации/Ф.И.О всегда следует серия пробелов, завершающаяся числом.

----------
Per Aspera Ad Astra...

Всего записей: 2203 | Зарегистр. 10-08-2003 | Отправлено: 07:24 09-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mr_eoi
12:24 09-06-2005
Цитата:
Наверное имеется ввиду, что после имени органицации/Ф.И.О всегда следует серия пробелов, завершающаяся числом.

Про серию пробелов я спросил напрямую (21:53 08-06-2005). Ответа не обнаружил. Интересует длина этой серии.
Числа перед названием города "Тобольск" также не обнаружил.
С фамилиями гораздо проще: там структура понятна сразу (надеюсь, полных имен и нескольких человек сразу там нет?)

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 07:40 09-06-2005
mr_eoi



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evle
07:40 09-06-2005
Цитата:
Числа перед названием города "Тобольск" также не обнаружил.

Процитирую саи себя
Цитата:
после имени органицации/Ф.И.О всегда следует серия пробелов, завершающаяся числом.
следовательно число предполагается после города "Тобольск". При этом число пробелов перед числом несущественно, главное - они есть.

----------
Per Aspera Ad Astra...

Всего записей: 2203 | Зарегистр. 10-08-2003 | Отправлено: 07:46 09-06-2005 | Исправлено: mr_eoi, 07:47 09-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mr_eoi
12:46 09-06-2005
Цитата:
следовательно число предполагается после города "Тобольск"

Я так понял, название города входит в адрес, а не в название организации. Да и с чего там быть числу? "2 Северная" - это "Вторая Северная" (название улицы).

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 07:50 09-06-2005
mr_eoi



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evle
07:50 09-06-2005
Цитата:
Да и с чего там быть числу?

А что такое "0  Гл.щит управления"?

----------
Per Aspera Ad Astra...

Всего записей: 2203 | Зарегистр. 10-08-2003 | Отправлено: 07:53 09-06-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
АО "Тюменьэнерго" Тобольская ТЭЦ
- это название организации

Цитата:
Тобольск                    0  Гл.щит управления
- это адресс

Цитата:
5-20-48
- номер телефона
 
Спросите, почему такой большой пробел между
Цитата:
Тобольск                    0  Гл.щит управления
, отвечу, что это сканированный текст....
 
evle

Цитата:
надеюсь, полных имен

Есть и полные имена и отчества...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 08:51 09-06-2005 | Исправлено: DroN_S, 08:52 09-06-2005
mr_eoi



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
Организации и частники конечно идут вперемешку?

----------
Per Aspera Ad Astra...

Всего записей: 2203 | Зарегистр. 10-08-2003 | Отправлено: 12:55 09-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
Тьфу. Спрашиваю третий раз.  
Всегда ли название организации или имя отделяются двумя и более пробелами? И всегда ли внутри каждой части есть только одинарные пробелы?


----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 13:00 09-06-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Всегда ли название организации или имя отделяются двумя и более пробелами?

Да, проктически всегда...

Цитата:
И всегда ли внутри каждой части есть только одинарные пробелы?

Это да, только одинарные...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 17:35 09-06-2005 | Исправлено: DroN_S, 17:38 09-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
22:35 09-06-2005
Цитата:
Да, проктически всегда...  

Нехорошо. Ошибки будут. Но нормально в таком случае только искусственным либо естесственным интеллектом обработается.
Предлагаю следующее решение: берем текстовый редактор либо еще что-либо, умеющее работать с регулярными выражениями. Шаблон для поиска: "^(.*?)\s{2,}(.*?)\s+([\d-]+)$". Шаблон для замены: "$1\t$2\t$3" (без кавычек, естесственно). Запускаем, на выходе получаем то же самое, но части отделены друг от друга одной табляцией. При необходимости перегоняем в базу данных.
Расчитано на то, что в конце строк пробелов нет (если есть, можно предварительно удалить), в номере телефоне должны быть только цифры и "-". Один телефон в строке. Все что идет до первой группы двух пробелов считается названием, между первой группой пробелов и номером телефона - адресом.
Писать прогу для такой задачи совершенно нецелесообразно.

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 17:54 09-06-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evle
А как можно из простого текстового файла перегнать в базу данных?

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 18:44 09-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
23:44 09-06-2005
Цитата:
А как можно из простого текстового файла перегнать в базу данных?

В Access через импорт можно (он понимает файлы, разделенные табуляцией)

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 18:52 09-06-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evle
При импорте получается полный бред, либо всё в одном поле, либо полей очень много...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 21:05 09-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
02:05 10-06-2005
Цитата:
При импорте получается полный бред, либо всё в одном поле, либо полей очень много...

Ну так настрой. Я перед тем как писать проверил - работает. Нужно поставить разделитель - табуляцию.

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 04:17 10-06-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Поиск в текстовом файле


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru