Есть ли возможность удалить строку, начинающуюся с ">" и заканчивающуюся новой строкой в ​​postgresql с помощью оператора обновления sql? - PullRequest
0 голосов
/ 31 января 2019

Допустим, у меня есть база данных с около 50 тыс. Записей в столбце с именем content.Этот столбец содержит строки, которые вызывают проблемы в моей дальнейшей работе.

Теперь вот что мне нужно сделать для всех строк в этой таблице.

Есть идеи?Вот пример:

'user wrote:
-----------------------------------------------------
> Some text 
> that vary too much and I dont need it actually 
> here is end of the text 
The text I actually need.'

Я хотел бы удалить все ненужные части, так что единственное, что осталось, это в этом случае:

'The text I actually need.'

1 Ответ

0 голосов
/ 31 января 2019

Это должно удалить все строки, которые начинаются с >:

regexp_replace(textcol, E'^>.*\n', '', 'gn');

Флаг g необходим для удаления всех таких строк, а также флаг nзаставляет ^ соответствовать позиции сразу после каждого переноса строки.

Я использую «расширенный» строковый литерал (ведущий E), чтобы я мог написать новую строку как \n.

...