Función REPLACE( )

Reemplaza todas las instancias de una cadena de caracteres especificada por una nueva cadena de caracteres.

Sintaxis

REPLACE(cadena; texto_anterior; nuevo_texto)

Parámetros

Nombre Tipo Descripción
cadena

carácter

El valor en donde se reemplazan los caracteres.
texto_anterior

carácter

La cadena de caracteres para reemplazar. La búsqueda distingue entre mayúsculas y minúsculas.

texto_nuevo carácter El texto con el que se reemplaza el valor en texto_anterior.

Salida

Carácter.

Ejemplos

Ejemplos básicos

Devuelve "a12345efg":

REPLACE("abcdefg";"bcd";"12345")

Devuelve "Rd.":

REPLACE("Road";"Road";"Rd.")

Devuelve "ac":

REPLACE("abc";"b";"")

Ejemplos avanzados

Quitar los caracteres especificados

Utilice REPLACE( ) para quitar una cadena de caracteres específica de una cadena de origen, reemplazándola por una cadena de caracteres vacíos ( "" ).

Devuelve "1234 Scott":

REPLACE("1234 Scott rd."; "rd."; "")

Ajuste de longitud del campo

Si nuevo_texto ("ABC") es más extenso que texto_anterior ("X"), la longitud del campo de la cadena que se obtiene se incrementa automáticamente para que quepa el primer reemplazo:

Devuelve "9ABC9", con una longitud de campo que se incrementa de 3 a 5 caracteres:

REPLACE("9X9"; "X"; "ABC")

La longitud del campo no se incrementa automáticamente para los siguientes reemplazos y es posible que se acorte si el campo no es lo suficientemente extenso como para contener a todos los nuevos caracteres.

Devuelve "9ABC9A":

REPLACE("9X9X"; "X"; "ABC")

Para evitar el truncamiento, puede incrementar la longitud de cadena utilizando la función BLANKS( ) o espacios en blanco literales.

Devuelve "9ABC9ABC":

REPLACE("9X9X" + BLANKS(2); "X"; "ABC")
REPLACE("9X9X" + " "; "X"; "ABC")

Si la cadena que se obtiene es más corta que cadena, la cadena que se obtiene se completa con espacios en blanco para conservar la misma longitud de campo.

Devuelve "9X9  ":

REPLACE("9ABC9"; "ABC"; "X")

Observaciones

Cómo funciona

La función REPLACE( ) reemplaza cada instancia de una cadena existente por una nueva cadena.

Devuelve "1234 Scott Road":

REPLACE("1234 Scott rd."; "rd."; "Road")

Cuándo usar REPLACE( )

Utilice REPLACE( ) para normalizar campos de datos con formatos no uniformes, tales como campos de dirección, o para reemplazar información no válida en campos incorrectamente editados. Para que operaciones tales como las pruebas de duplicados o la unión o la relación de tablas se realicen en forma adecuada, se requieren datos con un formato normalizado o estandarizado.

Coincidir mayúsc.-minúsc.

La función REPLACE( ) distingue entre mayúsculas y minúsculas. Si especifica "RD." en texto_anterior y los valores en la cadena son en minúsculas, el valor texto_nuevo no será sustituido porque no se encontrarán coincidencias.

Si existe la posibilidad de que las mayúsculas y minúsculas estén mezcladas en la cadena, primero use la función UPPER( ) para poner todos los caracteres en mayúsculas.

Devuelve "1234 SCOTT ROAD":

REPLACE(UPPER("1234 Scott rd."); "RD."; "ROAD")

Protección contra reemplazos accidentales

Al crear una expresión REPLACE( ) debe tener en cuenta todas las instancias posibles de texto_anterior en la cadena para que no se presenten reemplazos involuntarios.

Devuelve "645 RichaRoad Road", porque las dos últimas letras de "Richard" son "rd":

REPLACE("645 Richard rd "; "rd"; "Road")

Al agregar un espacio inicial y un espacio final al valor en texto_anterior ( " rd " ), se evita que la función reemplace instancias en donde "rd" aparezca dentro de un nombre, dado que en estas instancias no existen espacios iniciales.

Devuelve "645 Richard Road":

REPLACE("645 Richard rd "; " rd "; " Road")