Как заменить несколько вхождений шаблона в MySQL? - PullRequest
3 голосов
/ 19 ноября 2011

Скажи, что у меня такая строка,

%ab/c[1a]defgh[41]ijklmnop[0].qrstu[99],vwzyz

Я хочу, чтобы оно отображалось как

%ab/c[]defgh[]ijklmnop[].qrstu[],vwzyz

Строка может содержать любые специальные символы. То, что я хочу, это заменить то, что находится внутри больших скобок (может быть любое количество вхождений этого шаблона), с пустым символом. Содержимое внутри скобок может быть буквенно-цифровым.

Ваше предложение будет оценено.

Спасибо.

1 Ответ

3 голосов
/ 19 ноября 2011

MySQL не имеет встроенной функции для сопоставления с образцом и замены.

MySQL имеет функцию REPLACE () , которая выполняет множественные замены в строке, но ищет только фиксированные строки, а не шаблоны. Было бы очень неудобно использовать это для задачи, которую вы описываете.

Вам лучше будет извлечь всю строку обратно в ваше приложение, а затем использовать более гибкую функцию манипуляции со строками. Например, preg_replace () в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...