Для вот такой строчки в прайсе: Матрас American Style Денвер 1600x2000 (Queen Plus size)
пишу следующее выражение в автозамене и галочку удалить: [0-9]{3}([0]{1})x[0-9]{3}([0]{1})
получаю результат: 16x20
Если тоже выражение и туже строчку в Доп.столбцах проверяю - получаю: 00
что на мой взгляд является правильным ответом.
При этом выражении должно браться два ноля, по одному от каждой цифры.
при [0-9]{3}([0]{1})x[0-9]{3}([0]{1}) получается тоже самое
Регулярные выражения при автозамене (удаление)
А проблема в чем? Это РВ дает результат 00, если вы создаете автозамену удаления РВ то бишь "00" то и получаете вместо 1600-16, а вместо 2000 - 20.
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
Документация E-Trade Jumper
Данное РВ: [0-9]{3}([0]{1})x[0-9]{3}([0]{1}) указывает на определенные знаки-цифры в ряду цифр при определенном условии.
То есть регулярным выражением указывают определенные ноли на определенном месте.
160(0)х190(0) - те что в скобках, а не какие-то другие.
1) Вначале должно быть три цифры "[0-9]{3}" . Не две и не одна, а три.
2) После которых должен быть обязательно ноль "([0]{1})" , который и берется, потому что значение в скобках.
3) после которого х и только латиницей, так как для русского надо писать другое рег. выражение с использование русского х
4) после должно идти три цифры "[0-9]{3}" . Не две и не одна, а три.
5) после этих трех цифр должен быть обязательно ноль "([0]{1})" , который и берется, потому что значение в скобках.
В моем понимании при таких выставленных настройках удаление через автозамену должно быть удаление тех элементов, которые указаны в рег. выражении в скобках. То есть при значении 1600х1900 оставаться должны 160х190
Следуя описанной вами логике сначала происходит выделение значения 00, а потом оно через "найти и заменить" удаляется.
Если все работает через "Найти и заменить" пробую выставить рег. выражение через замену по вашей логике. Убираю галочку с У и в поле "Чем заменить?" ставлю 0. При исходных значениях 1600х1900 получаю значение 0
По какой логике и как это работает я вообще боюсь предугадать.
При составленном рег. выражении [0-9]{3}([0]{1})x[0-9]{3}([0]{1})|[0-9]{3}x[0-9]{3}([0]{1})|[0-9]{3}([0]{1})x[0-9]{3} происходит тоже самое. То значок или "|" не работает и выполняется только первое условие.
Суть проблемы - мне нужно удалить только те 0 и только в тех значениях, которые подпадают под мои определенные условия РВ. В столбце со значениями у меня есть габариты и в мм и в см. Есть и 1600х1900, есть и 160х190. Этот весь беспорядок я хочу привести к общему виду.
Но тут надо учитывать что варианты 800х1900, 1900х800, 700х700 это могут быть в мм, а вот 120х190, 200х200 уже скорее всего в мм. Это все я могу задать в рег. выражении, но взять просто "00" и заменить его на "0" я не могу. Потому что для 100х100 (а тут явно уже см, а не мм) это правило заменит на 10х10
П.С. Уже не первый раз в разных условиях пытался использовать РВ в автозамене, но так и не смог, так как логика работы абсолютно не понятна. Если возможно двоякое трактование условий, то может их где-то надо подробно расписать, а не заставлять пользователей догадываться?
П.П.С. Все это я перенабираю второй раз. Первый раз данное сообщение было набрано за два часа, было намного более подробным, содержало много примеров и более подробное описание логики. Но не сохранилось из-за авторазлогинивания на форуме. Спасибо. Второй раз набрал, но менее подробно, так что если что-то непонятно, пожалуйста не пишите "А че?"
То есть регулярным выражением указывают определенные ноли на определенном месте.
160(0)х190(0) - те что в скобках, а не какие-то другие.
1) Вначале должно быть три цифры "[0-9]{3}" . Не две и не одна, а три.
2) После которых должен быть обязательно ноль "([0]{1})" , который и берется, потому что значение в скобках.
3) после которого х и только латиницей, так как для русского надо писать другое рег. выражение с использование русского х
4) после должно идти три цифры "[0-9]{3}" . Не две и не одна, а три.
5) после этих трех цифр должен быть обязательно ноль "([0]{1})" , который и берется, потому что значение в скобках.
В моем понимании при таких выставленных настройках удаление через автозамену должно быть удаление тех элементов, которые указаны в рег. выражении в скобках. То есть при значении 1600х1900 оставаться должны 160х190
Следуя описанной вами логике сначала происходит выделение значения 00, а потом оно через "найти и заменить" удаляется.
Если все работает через "Найти и заменить" пробую выставить рег. выражение через замену по вашей логике. Убираю галочку с У и в поле "Чем заменить?" ставлю 0. При исходных значениях 1600х1900 получаю значение 0
По какой логике и как это работает я вообще боюсь предугадать.
При составленном рег. выражении [0-9]{3}([0]{1})x[0-9]{3}([0]{1})|[0-9]{3}x[0-9]{3}([0]{1})|[0-9]{3}([0]{1})x[0-9]{3} происходит тоже самое. То значок или "|" не работает и выполняется только первое условие.
Суть проблемы - мне нужно удалить только те 0 и только в тех значениях, которые подпадают под мои определенные условия РВ. В столбце со значениями у меня есть габариты и в мм и в см. Есть и 1600х1900, есть и 160х190. Этот весь беспорядок я хочу привести к общему виду.
Но тут надо учитывать что варианты 800х1900, 1900х800, 700х700 это могут быть в мм, а вот 120х190, 200х200 уже скорее всего в мм. Это все я могу задать в рег. выражении, но взять просто "00" и заменить его на "0" я не могу. Потому что для 100х100 (а тут явно уже см, а не мм) это правило заменит на 10х10
П.С. Уже не первый раз в разных условиях пытался использовать РВ в автозамене, но так и не смог, так как логика работы абсолютно не понятна. Если возможно двоякое трактование условий, то может их где-то надо подробно расписать, а не заставлять пользователей догадываться?
П.П.С. Все это я перенабираю второй раз. Первый раз данное сообщение было набрано за два часа, было намного более подробным, содержало много примеров и более подробное описание логики. Но не сохранилось из-за авторазлогинивания на форуме. Спасибо. Второй раз набрал, но менее подробно, так что если что-то непонятно, пожалуйста не пишите "А че?"
Как вариант в поле "Заменить на" можно использовать подстановойные знаки типа "$1", где с помощью цифры задается порядковый номер выражения в скобках.
Т.е. если к строке "1600х1900" применить выражение в поле "Найти" которого написано "([0-9]{3})([0]{1})(x)([0-9]{3})([0]{1})", а в поле "Заменить на" которого написано "$1$3$4", то в результате должно получиться "160х190"
Т.е. если к строке "1600х1900" применить выражение в поле "Найти" которого написано "([0-9]{3})([0]{1})(x)([0-9]{3})([0]{1})", а в поле "Заменить на" которого написано "$1$3$4", то в результате должно получиться "160х190"
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
-
tkachenkoser
- Сообщения: 498
- Зарегистрирован: 01 авг 2011 12:03
интересная темка. Удалось задействовать "у" (удаление) регулярного выражения? У меня пока некак (
Не знаю как в автозамене, а в ручную замене $1 также не работают.
Не знаю как в автозамене, а в ручную замене $1 также не работают.
Большой опыт работы с PLI, CC, парсерами, CRM и ERP системами. Маркетинг и консалтинг для интернет-магазинов. Контакты в профиле.
Все татары кроме я, да?tkachenkoser писал(а):Не знаю как в автозамене, а в ручную замене $1 также не работают.
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
-
tkachenkoser
- Сообщения: 498
- Зарегистрирован: 01 авг 2011 12:03
бывает у меня )Ixenon писал(а):Все татары кроме я, да?tkachenkoser писал(а):Не знаю как в автозамене, а в ручную замене $1 также не работают.
Большой опыт работы с PLI, CC, парсерами, CRM и ERP системами. Маркетинг и консалтинг для интернет-магазинов. Контакты в профиле.
-
tkachenkoser
- Сообщения: 498
- Зарегистрирован: 01 авг 2011 12:03
Поднимаю темку, т.к. проблема не решена, а очень актуальна.
Если использовать автозамену с регулярным выражением, то все работает.. Пример что регулярное выражение верное и работает на скрине: А удаление найденного РВ, ни таким способом Ни таким - не работает.
Если использовать автозамену с регулярным выражением, то все работает.. Пример что регулярное выражение верное и работает на скрине: А удаление найденного РВ, ни таким способом Ни таким - не работает.
Большой опыт работы с PLI, CC, парсерами, CRM и ERP системами. Маркетинг и консалтинг для интернет-магазинов. Контакты в профиле.
Как вариант, можно на пробел заменить, только вроде там галочку в поле "УП" нужно ставить.
И в конце возможно потребуется еще одно регулярное выражение заменяющее один или более пробельных символов, на знак пробела, правда уже не помню точно.
Это конечно не решение данной проблеммы, а всего лишь как вариант, которым можно пользоваться, пока проблемма не решена.
И в конце возможно потребуется еще одно регулярное выражение заменяющее один или более пробельных символов, на знак пробела, правда уже не помню точно.
Это конечно не решение данной проблеммы, а всего лишь как вариант, которым можно пользоваться, пока проблемма не решена.
Пишу макросы VBA на заказ от 100 руб. обращаться в личку.
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
Подключение макросов | Подключение макросов 2 | Регулярные выражения | Руководство E-Trade PLI | EdiTTempDir | РРЦ | правильное обновление ПЛИ и СС | данные импортируются как звездочки | контакты тех.поддержки
-
tkachenkoser
- Сообщения: 498
- Зарегистрирован: 01 авг 2011 12:03
я обычно делаю иначе, заменяю на /////, а потом после добавления товара делаю поиск с удалением.
Об проблеме пишу давно, т.к что при автозамене РВ она криво работает, что при обычной замене
Об проблеме пишу давно, т.к что при автозамене РВ она криво работает, что при обычной замене
Большой опыт работы с PLI, CC, парсерами, CRM и ERP системами. Маркетинг и консалтинг для интернет-магазинов. Контакты в профиле.
