从字符串末尾删除特殊字符

问题描述:

我期望从字符串末尾删除特殊字符。从字符串末尾删除特殊字符

输入:

looking for Oracle help ~(
looking ~! for Oracle help ~(Stack 
looking ~! for Oracle help ~(Stack ## 

输出:

looking for Oracle help 
looking ~! for Oracle help ~(Stack 
looking ~! for Oracle help ~(Stack 

所以我只需要只从字符串的结尾去掉非字母数字字符。

我正在寻找Oracle SQL查询来实现此目的。

select regexp_replace(str, '[^[:alnum:]]*$') from.... 

其中str是输入字符串值。这将删除所有在str$末尾锚定的非字母数字字符; *表示尽可能多的连续字符; [...]表示字符匹配集合,而^内的字符匹配集合表示否定)。通过不给第三个参数regexp_replace(),子字符串被替换为无(''