1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="fn_regexp_replace">
<refmeta>
<refentrytitle>regexp_replace</refentrytitle>
<refmiscinfo>string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>regexp_replace</refname>
<refpurpose>Replaces occurrence(s) of the matching pattern in the source_string with a specified replace_string.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_regexp_replace">
<funcprototype id="fproto_regexp_replace">
<funcdef>varchar <function>regexp_replace</function></funcdef>
<paramdef>in <parameter>source_string</parameter> any</paramdef>
<paramdef>in <parameter>pattern</parameter> any</paramdef>
<paramdef><optional>in <parameter>replace_string</parameter> varchar</optional></paramdef>
<paramdef><optional>in <parameter>position</parameter> integer</optional></paramdef>
<paramdef><optional>in <parameter>occurrence</parameter> any</optional></paramdef>
<paramdef><optional>in <parameter>match_parameter</parameter> integer</optional></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc"><title>Description</title>
<para>This function replaces occurrence(s) of the matching
<parameter>pattern</parameter> in the <parameter>source_string</parameter> with
a specified <parameter>replace_string</parameter>, allowing complex
search-and-replace operations. The traditional REPLACE SQL function substitutes
one string with another. Assume your data has extraneous spaces in the text and
you would like to replace them with a single space. With the REPLACE function,
you would need to list exactly how many spaces you want to replace. However,
the number of extra spaces may not be the same everywhere in the text. </para>
</refsect1>
<refsect1 id="params_regexp_replace"><title>Parameters</title>
<refsect2><title>source_string</title>
<para>Source string.</para></refsect2>
<refsect2><title>pattern</title>
<para>The regular expression to match.</para></refsect2>
<refsect2><title>replace_string</title>
<para>By default an empty string, ''.</para></refsect2>
<refsect2><title>position</title>
<para>By default this is set to 1.</para></refsect2>
<refsect2><title>occurrence</title>
<para>By default this is set to 0. If you specify occurrence as DB NULL value it will replace all
the occurrences of the pattern in the string.</para></refsect2>
<refsect2><title>match_parameter</title>
<para>By default this is set to null.</para></refsect2>
</refsect1>
<refsect1 id="ret_regexp_replace"><title>Returns</title>
<para>This function returns the a substring matching the regular expression.</para>
</refsect1>
<refsect1 id="examples_regexp_replace"><title>Examples</title>
<example id="ex_regexp_replace">
<title></title>
<para>This example has three spaces between Joe and Smith. The REPLACE function's
parameter specifies that two spaces should be replaced with one space. In
this case, the result leaves an extra space where there were three spaces
in the original string between Joe and Smith. </para>
<programlisting><![CDATA[
SELECT
REPLACE('Joe Smith', ' ', ' ') AS REPLACE_NORMAL,
REGEXP_REPLACE('Joe Smith', '( ){2,}', ' ') AS REGEXP_REPLACE;
REPLACE_NORMAL REPLACE_REGEXP
VARCHAR VARCHAR
______________________________________________
Joe Smith Joe Smith
]]></programlisting>
</example>
</refsect1>
<refsect1 id="seealso_regexp_replace"><title>See Also</title>
<para><link linkend="fn_regexp_match"><function>regexp_match()</function></link></para>
<para><link linkend="fn_regexp_like"><function>regexp_like()</function></link></para>
<para><link linkend="fn_regexp_instr"><function>regexp_instr()</function></link></para>
<para><link linkend="fn_regexp_parse"><function>regexp_parse()</function></link></para>
<para><link linkend="fn_regexp_substr"><function>regexp_substr()</function></link></para>
</refsect1>
</refentry>
|