|
Найти геометрические размеры из строки
|
|||
---|---|---|---|
#18+
В очень длинных строках записаны геометрические размеры продукции в виде " толщинаХширинаХдлинаММ ". Пытаюсь найти ее регуляркой, но получается масса дополнительных символов (пример ниже). Подскажите как побороть. Заранее благодарен. Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Пример выдачи. Нужно только выделенное. Пример на короткую строку, а в реальности строки, найденные регэкспом, очень длинные и могут содержать паразитные подстроки, типа указания одного линейного размера, например " 180ММ " или площади " 180Х1700ММ ". Код: vbnet 1.
Понятно, что можно в найденном искать другими методами (сплитом, инстр), но хотелось бы сразу в регэкспе. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2012, 10:02 |
|
Найти геометрические размеры из строки
|
|||
---|---|---|---|
#18+
Квадратные скобки означают набор символов, а не последовательность. Крыжик впереди инвертирует набор. [^0-9Х0-9Х0-9ММ] = [^0-9ХМ], то есть все символы кроме цифр, Х и М. \d+X\d+X\d+MM ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2012, 10:17 |
|
Найти геометрические размеры из строки
|
|||
---|---|---|---|
#18+
Antonariy, попробовал Ваш вариант на сравнительно коротком тестовом примере (всего-то около 700 символов, а есть и по 8000 символов). Исходная строка: "ПЛИТЫ ДРЕВЕСНОВОЛОКНИСТЫЕ СУХОГО СПОСОБА ПРОИЗВОДСТВА (МДФ), СОРТ 1, ЛАМИНИРОВАННЫЕ, 1 СТОРОНА- РАЗМЕР 16Х2800Х2070ММ (ЦВЕТ-БЕЛЫЙ) -270ШТ, 1564,92 КВ.М. ИЗГОТОВЛЕНЫ ИЗ ДРЕВЕСНОГО ВОЛОКНА СУХИМ МЕТОДОМ СМ. ДОПОЛНЕНИЕ ПРЕССОВАНИЯ С ИСПОЛЬЗОВАНИЕМ ТЕМПЕРАТУРЫ ДО 280 ГРАД. И ВЫСОКОГО ДАВЛЕНИЯ. СРЕДНЕЙ ПЛОТНОСТИ - 750-760 КГ/М КУБ. ИСПОЛЬЗУЮТСЯ ДЛЯ ПРОИЗВОДСТВА МЕБЕЛИ. КОД ОКП - 55 3600. ТУ У 20.2-35255146-001:2010.: КАЖДАЯ ПАЧКА УСТАНАВЛИВАЕТСЯ НА ДЕРЕВЯННЫЕ БРУСКИ. ВЕРХ ПАЧКИ УКРЫВАЕТСЯ ГОФРОКАРТОНОМ 2800Х2070 ММ, НИЗ ПАЧКИ - ПРОКЛАДОЧНЫЙ ЛИСТ ИЗ НЕКОНДИЦИОННОЙ ПЛИТЫ МДФ. ПАЧКА СТЯГИВАЕТСЯ ТРЕМЯ ПОПЕРЕЧНЫМИ ПОЯСАМИ ИЗ ПЭТ ЛЕНТЫ." Ваш вариант дает: ПЛИТЫ ДРЕВЕСНОВОЛОКНИСТЫЕ СУХОГО СПОСОБА ПРОИЗВОДСТВА (МДФ), СОРТ 1, ЛАМИНИРОВАННЫЕ, 1 СТОРОНА- РАЗМЕР 16Х2800Х2070ММ (ЦВЕТ-БЕЛЫЙ) -270ШТ, 1564,92 КВ.М. ИЗГОТОВЛЕНЫ ИЗ ДРЕВЕСНОГО ВОЛОКНА СУХИМ МЕТОДОМ СМ. ДОПОЛНЕНИЕ ПРЕССОВАНИЯ С ИСПОЛЬЗОВАНИЕМ ТЕМПЕРАТУРЫ ДО 280 ГРАД. И ВЫСОКОГО ДАВЛЕНИЯ. СРЕДНЕЙ ПЛОТНОСТИ - 750-760 КГ/М КУБ. ИСПОЛЬЗУЮТСЯ ДЛЯ ПРОИЗВОДСТВА МЕБЕЛИ. КОД ОКП - 55 3600. ТУ У 20.2-35255146-001 Начальный вариант (мой) Х М 1 М 1 М 16Х2800Х2070ММ 270 156492 М ХМ ММ М М М 280 750760 М М 55 3600 20235255146001 А нужно " 16Х2800Х2070ММ " ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2012, 10:44 |
|
Найти геометрические размеры из строки
|
|||
---|---|---|---|
#18+
Нужно поменять не только маску, но и метод: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2012, 19:41 |
|
|
start [/forum/topic.php?fid=60&msg=37879488&tid=2157594]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 273ms |
total: | 404ms |
0 / 0 |