【问题标题】:Replacing characters at specific positions in strings in Oracle替换Oracle中字符串中特定位置的字符
【发布时间】:2013-05-12 11:22:37
【问题描述】:

我正在尝试编写一个函数,该函数可以通过切换字符对来解码消息。

假设我有message hello!,编码后会变成ehll!o。 Oracle 中是否有一个现有功能可以让我 replace characters 在指定位置与我选择的其他角色一起使用?

【问题讨论】:

    标签: string oracle plsql replace substring


    【解决方案1】:

    如果你想简单地从特定位置屏蔽几个字符,你可以像下面这样

    SUBSTR(field_name,1,4) || 'XXXX' || SUBSTR(field_name,LENGTH(field_name)-4,LENGTH(field_name))
    as field_name
    

    如果字段值为 0007125009300 输出将是 0007XXXX09300

    【讨论】:

      【解决方案2】:

      你应该使用看起来像山雀的正则表达式:

      regexp_replace(string, '(.)(.)', '\2\1')
      

      fiddle

      【讨论】:

      • 非常好,正是我需要的。谢谢!
      【解决方案3】:

      我相信你会寻找 SubStr() 。可能是 Translate() 或 Replace()。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-17
        • 2017-04-10
        • 2015-05-05
        • 2015-10-18
        • 2020-07-19
        • 2021-01-27
        • 2021-09-17
        • 2012-07-20
        相关资源
        最近更新 更多