在String中插入值

时间:2015-07-02 07:02:52

标签: oracle

我需要操作字符串以获得所需的值。

我需要将<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css" rel="stylesheet" /> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" /> <ul class="nav navbar-nav"> <li><a href="#">EDIT BOOK</a> <ul class="sub-menu"> <li><a href="#">NEW</a> <li><a href="#">BROWSE</a> <li><a href="#">APPROVAL</a> </ul> </li> </ul>更改为ACTUALSTRING99。目前,我将此ACTUALSTRING_99传递给函数,并按以下方式将其作为ACTUALSTRING99返回。

ACTUALSTRING_99

将VALUE传递为SELECT 'VALUE' AS ACTUAL, REGEXP_REPLACE('VALUE', '[[:digit:]]') AS STRING, REGEXP_REPLACE('VALUE', '[[:alpha:]]') AS DIGIT, concat(concat(REGEXP_REPLACE('VALUE', '[[:digit:]]'),'_'),REGEXP_REPLACE('VALUE', '[[:alpha:]]')) AS REQUIRED FROM dual; 。我们有没有其他简单的方法(使用或不使用正则表达式)来调用函数吗?

2 个答案:

答案 0 :(得分:2)

要在字符串的数字部分之前添加下划线,您只需使用带反向引用的regexp_replace。

SELECT 
REGEXP_REPLACE('actualstring99','([[:digit:]]+)','_\1')
FROM dual;

答案 1 :(得分:1)

您可以使用子字符串和长度函数执行此操作:

SELECT SUBSTR('VALUE',0,LENGTH('VALUE')-2) || '_' || 
   SUBSTR('VALUE',LENGTH('VALUE')-2,LENGTH('VALUE')) 
    FROM dual;