* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
4.4 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
42 | Para reemplazar en cadenas |
Funciones para buscar y reemplazar en cadenas
replaceOne(pajar, patrón, reemplazo)
Sustituye la primera aparición, si existe, de la ‘pattern’ subcadena en ‘haystack’ con el ‘replacement’ subcadena. Sucesivo, ‘pattern’ y ‘replacement’ deben ser constantes.
replaceAll (pajar, patrón, reemplazo), replace (pajar, patrón, reemplazo)
Sustituye todas las apariciones del ‘pattern’ subcadena en ‘haystack’ con el ‘replacement’ subcadena.
replaceRegexpOne (pajar, patrón, reemplazo)
Reemplazo usando el ‘pattern’ expresión regular. Una expresión regular re2.
Sustituye sólo la primera ocurrencia, si existe.
Un patrón se puede especificar como ‘replacement’. Este patrón puede incluir sustituciones \0-\9
.
Sustitución \0
incluye toda la expresión regular. Sustitución \1-\9
corresponden a los números de subpatrón. \
en una plantilla, escapar de ella usando \
.
También tenga en cuenta que un literal de cadena requiere un escape adicional.
Ejemplo 1. Conversión de la fecha a formato americano:
SELECT DISTINCT
EventDate,
replaceRegexpOne(toString(EventDate), '(\\d{4})-(\\d{2})-(\\d{2})', '\\2/\\3/\\1') AS res
FROM test.hits
LIMIT 7
FORMAT TabSeparated
2014-03-17 03/17/2014
2014-03-18 03/18/2014
2014-03-19 03/19/2014
2014-03-20 03/20/2014
2014-03-21 03/21/2014
2014-03-22 03/22/2014
2014-03-23 03/23/2014
Ejemplo 2. Copiar una cadena diez veces:
SELECT replaceRegexpOne('Hello, World!', '.*', '\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0') AS res
┌─res────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World!Hello, World! │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
replaceRegexpAll (pajar, patrón, reemplazo)
Esto hace lo mismo, pero reemplaza todas las ocurrencias. Ejemplo:
SELECT replaceRegexpAll('Hello, World!', '.', '\\0\\0') AS res
┌─res────────────────────────┐
│ HHeelllloo,, WWoorrlldd!! │
└────────────────────────────┘
Como excepción, si una expresión regular funcionó en una subcadena vacía, el reemplazo no se realiza más de una vez. Ejemplo:
SELECT replaceRegexpAll('Hello, World!', '^', 'here: ') AS res
┌─res─────────────────┐
│ here: Hello, World! │
└─────────────────────┘
Sistema abierto.)
La función agrega una barra invertida antes de algunos caracteres predefinidos en la cadena. Caracteres predefinidos: ‘0’, ‘\’, ‘|’, ‘(’, ‘)’, ‘^’, ‘$’, ‘.’, ‘[’, ']', ‘?’, '*‘,’+‘,’{‘,’:‘,’-'. Esta implementación difiere ligeramente de re2::RE2::QuoteMeta. Escapa de byte cero como \0 en lugar de 00 y escapa solo de los caracteres requeridos. Para obtener más información, consulte el enlace: RE2