如何替换特殊字符--(破折号)

时间:2019-10-31 03:59:28

标签: sql postgresql regexp-replace

我正在使用PGAdmin(PostgreSQL),尝试删除字段中除-以外的所有特殊字符。

当前使用的命令:

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

那将把“卵巢sertolileydig细胞瘤”变成“卵巢sertolileydig细胞瘤”

之所以使用它,是因为有些字段包含逗号,正斜杠,而我则不需要。但是,如何使用regexp_replace删除除-以外的那些字符?

2 个答案:

答案 0 :(得分:0)

请尝试这样使用-

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

答案 1 :(得分:0)

您可以使用-将图案中的^-排除如下所示

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

输出

ovarian sertoli-leydig cell tumor

Check demo here