Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм упорядочивания строки / 5 сообщений из 5, страница 1 из 1
04.02.2014, 09:43
    #38548091
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм упорядочивания строки
Задача следующая.
Имеется Excel в котором имеется информация по контрагенту. Информаци не структурирована, записана в виде строки. Моя задача состоит в том чтобы разбить эту информацию на подстроки.
пример:
Заказчик:
Код: sql
1.
2.
3.
ООО "Фирма 1", ИНН 0000000000, ОГРН0000000000  г. Город, ул. Улица, 37,  тел. 000-00-00, 00-00-0, директор иванов Иван иванович

ООО "Фирма 1 ИНН 0000000000, ОГРН0000000000 индекс г. Город, ул. Улица, 37,  нач-к  Иванов Иван иванович тел./факс 000-00-00, факс(000) 00-00-0, директор иванов Иван иванович


примерно в таком виде находится информация, как таковых разделитей нет,
Начало подстрок(№ позиции) можно оперделить по ключевым словам...ИНН,ОГРН,Г./с./п/ Область/край, тел./тел/(тел./факс)/ (тел/факс)/ факс; Директор/дир./нач-к/ руководитель .

но как мне правилно сделать сортировку этих начальных позиций, чтоб определить что за чем следует...
Надеюсь понятно обьяснила суть задачи, возможно сможете направить меня на нужную литературу, тогда буду очень благодарна.
...
Рейтинг: 0 / 0
04.02.2014, 12:35
    #38548372
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм упорядочивания строки
А что смущает.. берете текст между ключевым словом и следующим ключевым словом.
Можете почитать про форму Бэкуса-Наура.
Однако никто не застрахован от г. Начальник, директор Иван Иванович Город.
...
Рейтинг: 0 / 0
04.02.2014, 12:36
    #38548378
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм упорядочивания строки
tasha klemer,

это вопрос касательно программирования?

Если так, то я бы поступил по такому алгоритму (пример на php):
1. $yourString=str_ireplace(array([все значимые слова, что Вы надиктовали]), "[какой-нить особенный символ типа ; или перевода строки]", $yourString);
2. $arrayOfData = explode("[тот самый особенный символ]", $yourString);
3. preg_match_all("/([тут всё слова, которые были надиктованы, в том же порядке что и в пункте 1, только через | . Не забываем что это регулярка, все значимые символы экранируем])/i", $yourString, $arrayOfKeys);
4. $arrayOfKeys = $arrayOfKeys[0];
5. В итоге получаем все значения в массиве $arrayOfData, а все ключи в массиве $arrayOfKeys

P.S. Не забываем, что просмотр идёт везде по очереди и останавливается на первом совпадении, потому указывать значащие комбинации надо от самой длинной до самой короткой (что бы например вместо "тел." не заменилось "тел", и не осталась лишняя точка... ну и т.д.)
...
Рейтинг: 0 / 0
04.02.2014, 18:22
    #38549182
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм упорядочивания строки
Подобный алгоритм имеет бесконечный цикл сопровождения. Особенно вам придётся туго
с географическими объектами. Они практически не поддаются формализации.
...
Рейтинг: 0 / 0
05.02.2014, 19:20
    #38550950
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм упорядочивания строки
mayton,

недаром в HumanFactorLabs ЗП выше средней
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм упорядочивания строки / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]