Postgresql regexp_replace() обратная косая черта и двойные кавычки

Я пытаюсь импортировать файл JSON, где значение содержит такие данные

"\"Козлов Гит †гирыш\" Гэс"

Возврат должен быть как "Koslov Git †girish Ges"

Дополнительные \" - это проблемы

Я пробовал REGEXP_REPLACE(values, '\\''+', '''', 'g') безуспешно. Как я могу избавиться от этого. Обратите внимание, что первую и последнюю двойные кавычки заменять не следует.


person Devil's Dream    schedule 26.07.2019    source источник
comment
Почему вы заменяете одинарные кавычки с обратной косой чертой (и любые последующие одинарные кавычки)?   -  person sticky bit    schedule 27.07.2019
comment
Возврат должен быть как "Koslov Git †girish Ges"   -  person Devil's Dream    schedule 27.07.2019
comment
Так зачем заменять одинарные кавычки, если вы хотите удалить двойные кавычки?   -  person sticky bit    schedule 27.07.2019
comment
Где я заменяю одинарные кавычки. Если бы я знал, что делаю не так, наверное, не задавал бы этот вопрос.   -  person Devil's Dream    schedule 27.07.2019
comment
В вашем регулярном выражении. Есть только одинарные кавычки.   -  person sticky bit    schedule 27.07.2019
comment
@stickbit.... спасибо за совет... кажется, кто-то помог мне в ответе.   -  person Devil's Dream    schedule 27.07.2019


Ответы (1)


with data(json_object) as (
    values ('"\"Koslov Git †girish\" Ges"'::jsonb)
)

select regexp_replace(json_object::text, '\\"', '', 'g')
from data;

Db‹>скрипка.

person klin    schedule 27.07.2019
comment
Я пробовал это также. но вокруг объекта нет одинарных кавычек. Это объект json. - person Devil's Dream; 27.07.2019