Как заменить специальные символы, кроме - (тире) - PullRequest
0 голосов
/ 31 октября 2019

Используя PGAdmin (Postgresql), я пытаюсь удалить все специальные символы, кроме - в полях.

Используемая текущая команда:

regexp_replace(b.DOWNCASE_NAME, '[^\w\s]', '', 'g') as CONDITION_NAME_DC,

Это изменит "опухоль клетки яичника Сертоли-Лейдиг" на "опухоль клетки яичника Сертолилидиг"

Я использовал это, потому что естьполя, которые содержат запятые, косые черты и мне не нужны. Но как мне использовать regexp_replace для удаления этих символов, кроме -?

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Вы можете исключить - в шаблоне, используя ^-, как показано ниже

select regexp_replace('ova@ri/an serto#li-leydi!g cel/l tumor', '[^\w\s^-]', '', 'g') 

Выход

ovarian sertoli-leydig cell tumor

Проверьте демонстрацию здесь

0 голосов
/ 31 октября 2019

Пожалуйста, попробуйте использовать это-

 preg_replace('/[^a-zA-Z0-9-]/', '', $yourString);
...