我需要操作字符串以获得所需的值。
我需要将<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;
。我们有没有其他简单的方法(使用或不使用正则表达式)来调用函数吗?
答案 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;