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")