Adobe COLDFUSION 9 Manual page 145

Developing applications
Hide thumbs Also See for COLDFUSION 9:
Table of Contents

Advertisement

DEVELOPING COLDFUSION 9 APPLICATIONS
The CFML Programming Language
Using backreferences in replacement strings
You can use backreferences in the replacement string of both the
example, to replace the first repeated word in a text string with a single word, use the following syntax:
REReplace("There is is a cat in in the kitchen",
"([A-Za-z ]+)\1","\1")
This results in the sentence:
"There is a cat in in the kitchen"
You can use the optional fourth parameter to
REReplace("There is is a cat in in the kitchen",
"([A-Za-z ]+)\1","\1","ALL")
This results in the following string:
"There is a cat in the kitchen"
The next example uses two backreferences to reverse the order of the words "apples" and "pears" in a sentence:
<cfset astring = "apples and pears, apples and pears, apples and pears">
<cfset newString = REReplace("#astring#", "(apples) and (pears)",
"\2 and \1","ALL")>
In this example, you reference the subexpression (apples) as \1 and the subexpression (pears) as \2. The
function returns the string:
"pears and apples, pears and apples, pears and apples"
Note: To use backreferences in either the search string or the replace string, you must use parentheses within the regular
expression to create the corresponding subexpression. Otherwise, ColdFusion throws an exception.
Using backreferences to perform case conversions in replacement strings
The
and
REReplace
REReplaceNoCase
replacement characters to uppercase or lowercase. The following table describes these special characters:
Special character
Description
\u
Converts the next character to uppercase.
\l
Converts the next character to lowercase.
\U
Converts all characters to uppercase until encountering \E.
\L
Converts all characters to lowercase until encountering \E.
\E
End \U or \L.
To include a literal \u, or other code, in a replacement string, escape it with another backslash; for example \\u.
For example, the following statement replaces the uppercase string "HELLO" with a lowercase "hello". This example
uses backreferences to perform the replacement.
REReplace("HELLO", "([[:upper:]]*)", "Don't shout\scream \L\1")
The result of this example is the string "Don't shout\scream hello".
REReplace
, scope, to replace all repeated words, as in the following code:
REReplace
functions support special characters in replacement strings to convert
Last updated 8/5/2010
and
functions. For
REReplaceNoCase
REReplace
140

Advertisement

Table of Contents
loading

Table of Contents