|
Подскажите решение, найти ширину и высоту из текста Евро конверт 85х170 | ☑ | ||
|---|---|---|---|---|
|
0
Храбрый
21.03.14
✎
12:34
|
Занимаюсь конвертацией.
Есть входящие форматы: - Евро конверт 85х170 - Middle 140x195 - Больше большой тройник 123х226 - Сумка DE 115х145х65 (тут только ширину и высоту, третий параметр не нужен.) - 8,5х18,5 см (тут видимо если запятую встретим, то умножить на 10, чтобы перевести в мм) - Малый гигант 200х277 - Мини 70х70 х - это русская буква х. Нужно вытащить из них ширину (в мм) и высоту (в мм) и формат товара (Middle, Евро конверт, Мини, Больше большой тройник и т.д.). 2 алгоритма на уме, оба не нравятся. 1. алгоритм Найти "х" справа и слева брать цифры и запятую пока не закончатся. Боюсь чтоб буква х будет встречаться в форматах, тогда алгоритм не сработает. 2. алгоритм. Разбить входящий формат на слова, в качестве разделителя выбрать пробел. - Евро конверт 85х170, получим Евро конверт 85х170 Если разбитое слово начинается с цифры, то это ширина с высотой, разбиваем их по "х". Подскажите красивое решение. |
|||
|
1
Базис
naïve
21.03.14
✎
12:39
|
Функция - параметр строка, возвращает ширину и высоту в мм, разделённую десятичной точкой (или строку типизированного формата ?).
Код можно сделать в Excel, выгрузив туда исходную табличку и проверив все реально существующие в источнике значения. |
|||
|
2
Asmody
21.03.14
✎
12:42
|
(.+)\s(\d+)[хx](\d+)
|
|||
|
3
Храбрый
21.03.14
✎
12:43
|
(1) Функция параметр строка. Возвращает.
Ширину в мм, Высоту в мм, Формат. |
|||
|
4
Храбрый
21.03.14
✎
12:43
|
(2) Это с помощью регулярных выражений?
|
|||
|
5
Asmody
21.03.14
✎
12:45
|
с запятыми
(^|(.+)\s)([\d,]+)[хx]([\d,]+) |
|||
|
6
Asmody
21.03.14
✎
12:47
|
(4) да. можно или VBScript.RegExp, или компоненту orefkov https://snegopat.ru/scripts/doc/trunk/rex/readme.markdown
|
|||
|
7
Храбрый
21.03.14
✎
12:47
|
(6) Спасибо, сейчас попробую
|
|||
|
8
Asmody
21.03.14
✎
12:48
|
||||
|
9
Храбрый
21.03.14
✎
12:50
|
(8) Это вообще отлично! Спасибо
|
| Форум | Правила | Описание | Секции | Поиск |