2017-10-02 1 views

Répondre

0

Utilisez regexp_replace avec un motif par exemple '[_.,!?-]', listez les caractères que vous souhaitez supprimer dans le motif. Cela remplacera le caractère dans le modèle avec des espaces:

select regexp_replace('test_string_with-puctuations,.!?','[_.,!?-]',' '); 

Sortie:

test string with puctuations 
+0

sélectionnez regexp_replace ('test_string,', "_ avec-827puctuations, 234..! ? ', ' [_.,!? -] :; | {{}() * & ^% $ # @! ~ '<>/'' =,.," "?;:" "【! @ # ¥% ...... & *() - + ~ · ',' '); – yanachen

+0

Pourquoi cette requête ne peut pas se débarrasser des puctuations de la chaîne – yanachen

+0

1. Point-virgule; devrait être échappé dans la ruche car il a une signification particulière. Aussi, si vous voulez supprimer tous les non-ASCII, vous pouvez utiliser le modèle '\\ P {ASCII}'. 'select regexp_replace ('test_string \\;' ??« avec-827puctuations, 234.!? ',' \\ P {ASCII} | [.,!? -] | \\; ',' '); ' – leftjoin