Я нахожу примеры для других языков, но я действительно не понимаю регулярных выражений, поэтому их трудно преобразовать в синтаксис Oracle.
Я думаю, что хочу использовать REGEXP_REPLACE, и я хочу чтобы заменить запятую на da sh, но только если после запятой нет пробела. Так, например:
ДЕРЕВО, ВИДЫ ДЕРЕВА, КЛЕН
заменит первую запятую, но не вторую:
ТАБЛИЦА ВИДЫ ДЕРЕВО, КЛЕН
Я могу сделать простой REGEXP_REPLACE, но только противоположный тому, что я хочу:
REGEXP_REPLACE(FieldToChange, ', ', '-')
Это то же самое, что и прямое ЗАМЕНИТЬ, которое Я понимаю.
REGEXP_REPLACE(FieldToChange, ',[^ ]', '-')
Это захватывает только запятую, после которой нет пробела, но также принимает следующий символ, в результате чего получается:
ТАБЛИЦА ДЕРЕВО -ТРИ ВИДА, КЛЕН
Я читаю Oracle документы, но, как и во многих других документах, вам нужно кое-что понять, прежде чем они обретут смысл. Поэтому мне бы очень хотелось объяснения, а не простого ответа. (Другие ответы, которые я нашел для других языков, просто дают ответ, который не помогает мне преобразовать это в Oracle.)