File: regexp_replace.xml

package info (click to toggle)
virtuoso-opensource 7.2.5.1%2Bdfsg1-0.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 285,240 kB
  • sloc: ansic: 641,220; sql: 490,413; xml: 269,570; java: 83,893; javascript: 79,900; cpp: 36,927; sh: 31,653; cs: 25,702; php: 12,690; yacc: 10,227; lex: 7,601; makefile: 7,129; jsp: 4,523; awk: 1,697; perl: 1,013; ruby: 1,003; python: 326
file content (105 lines) | stat: -rw-r--r-- 4,965 bytes parent folder | download | duplicates (2)
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>