Здравствуйте.
Имеется колонка с текстом. Требуется его разделить по разделителям. Точнее даже сказать - "разрезать" в соответствии с совпадениями по разделителям. То есть в классическом понимании "разделить" - это некий символ, по которому делится текст. Мне же надо оставить сам текст разделителя. В примере есть образец "как надо". Каждый из "разделителей" может попадаться в тексте только один раз, но комбинации могут быть любыми. Я в примере привел не все возможные комбинации. Самая сложная проблема - это разделить "abb" на "ab" и "b". Я не пойму как обыграть этот момент, чтоб одиночная буква "b" не разделила "ab", а оставила "ab" слитно.
Я решил эту задачу с помощью регулярных выражений. Способ достаточно простой (мало кода), но безумно ресурсозатратный. На реальных данных таблица пересчитывается 15 минут. Прикладывать его сюда смысла не вижу. Прошу помощи у умных - как решить эту задачу без регулярок, цель - ускорить выполнение запроса.
Имеется колонка с текстом. Требуется его разделить по разделителям. Точнее даже сказать - "разрезать" в соответствии с совпадениями по разделителям. То есть в классическом понимании "разделить" - это некий символ, по которому делится текст. Мне же надо оставить сам текст разделителя. В примере есть образец "как надо". Каждый из "разделителей" может попадаться в тексте только один раз, но комбинации могут быть любыми. Я в примере привел не все возможные комбинации. Самая сложная проблема - это разделить "abb" на "ab" и "b". Я не пойму как обыграть этот момент, чтоб одиночная буква "b" не разделила "ab", а оставила "ab" слитно.
Я решил эту задачу с помощью регулярных выражений. Способ достаточно простой (мало кода), но безумно ресурсозатратный. На реальных данных таблица пересчитывается 15 минут. Прикладывать его сюда смысла не вижу. Прошу помощи у умных - как решить эту задачу без регулярок, цель - ускорить выполнение запроса.