zoukankan      html  css  js  c++  java
  • ORACLE中的字符串替换 replce、regexp_replace 和 translate

    一、语法 

    replace(str_source,str1,str2)  把 str_source 中 str1 字符串替换为 str2 字符串,当 str2 为 null 或'' 时,与下个作用相同 

    replace(str_source,str1)         把str_source 中的 str1 字符串剔除 

    regexp_replace(str_source,pattern_str,rep_str) 支持正则表达式,用法类似于 replace,但功能更强大 

    regexp_replace(str_source,pattern_str)   把 str_source 中的 pattern_str 字符串剔除 

    translate(str_source,chr1,chr2) 以字符为单位,把 str_source 中的 chr1 字符对应替换为 chr2。如果 chr1 比chr2 长,那么在 chr1 中而不在 chr2 中的字符将被剔除,因为没有对应的替换字符。需注意 chr2 不能为 null 或'',否则返回值也为空 



    二、示例 



    (1)select replace('abcc123','abc','123'),replace('abcc123','abc') from dual; 

    REPLACE('ABCC123','ABC','123') REPLACE('ABCC123','ABC') 
    ------------------------------ ------------------------ 
    123c123                        c123 





    (2)select regexp_replace('abcc123','abc','*'),regexp_replace('abcc123','[ac]','*'),regexp_replace('abcc123','[ac]') from dual; 

    REGEXP_REPLACE('ABCC123','ABC' REGEXP_REPLACE('ABCC123','[AC] REGEXP_REPLACE('ABCC123','[AC] 
    ------------------------------ ------------------------------ ------------------------------ 
    *c123                          *b**123                        b123 
    1、用字符串'*'替换 'abc'字符串; 

    2、用字符串'*'替换 'a'和'c'字符,涉及到正则表达式的用法。 





    (3)select translate('abcc123a','abc','-+='),translate('abcc123a','abc','-+'),translate('abcc123a','#abc','#') from dual; 

    TRANSLATE('ABCC123A','ABC','-+ TRANSLATE('ABCC123A','ABC','-+ TRANSLATE('ABCC123A','#ABC','# 
    ------------------------------ ------------------------------ -------------------- 
    -+==123-                       -+123-                         123 
    1、用字符'-'、'+'、'='对应替换'a','b','c'字符; 

    2、'abc'长度为 3,'-+'长度为 2,字符'c'没有对应的字符来替换,因此被剔除掉; 

    3、剔除掉字符'a'、'b'、'c',translate 有 # 的特殊用法,以 # 开头的表示所有字符。

    来源:http://it158.iteye.com/blog/1153539

  • 相关阅读:
    Java生成登录随机验证码
    Java调用百度API实现人脸识别
    阿里云CentOS开放端口
    Windows环境下利用nginx作为图片服务器
    SpringCloud使用Feign调用服务,@ModelAttribute无法传递实体类参数
    Solr7正确的调用SolrClient姿势
    LeetCode 235. Lowest Common Ancestor of a Binary Search Tree(BST求最近公共祖先)
    LeetCode 538. Convert BST to Greater Tree(把BST每个节点的值都加上比它大的节点的值)
    Trie树模板例题
    Google KickStart 2020 RoundA
  • 原文地址:https://www.cnblogs.com/langtianya/p/6594979.html
Copyright © 2011-2022 走看看