![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]()
Здравствуйте.
Есть строки формата 'MDX (YD1) 2000 - 2006' 'RDX 2012 - До н.в.' ' купе (DC) 2001 - До н.в.' Возможны варианты, в которых верхний предел не указан (модификация авто выпуска одного года, а не диапазона). Так же произвольный текст может отсутствовать. Подстрока 'До н.в.' заменяется перманентно на 2017 (актуальность базы) Таким образом я вижу три фрагмента: любой набор символов, первый год выпуска, последний год выпуска. Мне нужно получить два числа, и не забывать что число может быть всего одно. Из этих чисел формируется массив идущих по порядку годов, от и до. Если год один - то элемент массива один. Пожалуй единственная проблема - то что в первой части может быть вообще любой набор символов, не поддающийся алгоритмизации, или "сливающийся" со второй и третьей частью, или вовсе отсутствовать. Но я надеюсь, что в процессе обработки это будут частные случаи. У меня получилась реализация, заточенная под конкретные условия Код:
Как это можно реализовать более правильно ?
Подпись ? Не, не слышал ...
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
А регексами? А потом разделить по сепаратору и проверить левую и правую части на наличие числа.
"нв" предварительно можно заменить теми же самыми регексами на текущий год.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#3 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]()
WorldMaster, у меня всегда были проблемы с логикой построения регулярных выражений. Скажем так - я всегда обращался за помощью, потому что не могу вкурить, как их нужно строить.
Подпись ? Не, не слышал ...
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
у самого такая же фигня.. но вот задался тут целью раскурить и на самом деле там все достаточно просто. Там не так много маркеров базовых, но их возможностей вполне хватит для очень даже серьезных задач.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вытянуть программку | vibraxo | Помощь студентам | 3 | 07.06.2013 23:16 |
Вытянуть текст с xml | Jl6owa | Общие вопросы Delphi | 3 | 08.01.2012 03:50 |
Как вытянуть с DLE $tpl->set | makar3000 | PHP | 2 | 02.07.2011 18:50 |
Вытянуть из тегов | kschingiz | C# (си шарп) | 2 | 25.05.2011 16:14 |
вытянуть айпи | megostudent | Помощь студентам | 1 | 20.02.2011 11:42 |