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

时间:2016-11-10 16:42:13

标签: sql oracle

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

输入:

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查询来实现这一目标。

1 个答案:

答案 0 :(得分:1)

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

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