Reemplazar Palabras
Busca y reemplaza cualquier palabra, frase o patrón con vista previa de coincidencias. Admite regex, palabra completa y modo masivo. Sin subir, privado.
Acerca de la Herramienta Reemplazar Palabras
Reemplazar Palabras es una utilidad de buscar y reemplazar basada en navegador con cuatro modos de coincidencia — subcadena literal, subcadena sensible a mayúsculas, palabra completa (consciente de fronteras de palabra) y expresión regular JavaScript completa (sabor ECMAScript con flags /g, /i, /m, /s). El modo literal usa String.prototype.replaceAll() para coincidencia bruta de caracteres. El modo palabra completa envuelve tu término con anclas de frontera \b, así que 'gato' no coincidirá dentro de 'categoría' o 'concatenar'. El modo regex pasa tu patrón directo a un constructor RegExp — dejándote usar grupos de captura, lookahead/lookbehind, clases de caracteres, cuantificadores y retro-referencias ($1, $2) en la cadena de reemplazo. El modo masivo lee un par buscar→reemplazar por línea (dividido por la flecha ASCII '→' o el '->' amigable al teclado) y los aplica en orden, de arriba abajo — significando que pares posteriores ven la salida de los anteriores, lo cual es útil para transformaciones encadenadas pero también un peligro si un reemplazo posterior vuelve a coincidir con salida anterior. Flujos típicos: buscar-y-reemplazar nombres de variables en un fragmento de código (modo palabra completa), corregir erratas en un documento largo, redactar PII con regex como \b\d{3}-\d{2}-\d{4}\b para SSN de EE.UU., normalizar formatos de datos (DD/MM/AAAA a AAAA-MM-DD vía regex), y ejecutar intercambios de glosario de traducción con modo masivo.
¿Cuál es la diferencia entre 'Solo palabra completa' y un regex con \b?
Funcionalmente idéntico. El modo palabra completa solo envuelve tu término literal en \b...\b automáticamente y escapa primero los caracteres especiales de regex, así que '$5' busca literalmente el token dólar-5 sin que tengas que escapar el signo de dólar. Si quieres coincidencia de frontera de palabra más características regex (alternancia, cuantificadores), activa Usar Regex y escribe \b tú mismo: '\b(gato|perro)\b' coincide con la palabra independiente gato o perro pero no 'categoría' o 'perrera'.
¿Se admiten los flags de regex JavaScript /g, /i, /m, /s?
Sí implícitamente. La herramienta siempre usa /g (global) así que todas las coincidencias se reemplazan a la vez (o solo la primera si eliges ese modo, que apaga el flag). La opción sensible a mayúsculas alterna /i. El flag /m (anclas ^ y $ multilínea por línea) y /s (punto coincide con salto de línea) no están directamente expuestos — pero si escribes tu patrón en línea como 'foo$' solo coincidirá al final de la cadena por defecto. Para anclar por línea, usa el flag inline (?m) al inicio: '(?m)foo$' coincide 'foo' al final de cualquier línea. Para dotall, usa '[\s\S]' como alternativa portable a /s.
¿Puedo usar grupos de captura y retro-referencias ($1, $2) en el reemplazo?
Sí — Reemplazar Palabras usa String.replace() nativo de JavaScript, así que todos los patrones de reemplazo estándar funcionan: $& (coincidencia completa), $` (texto antes), $' (texto después), $1-$99 (grupos numerados), $<nombre> (grupos nombrados vía sintaxis (?<nombre>...)). Ejemplo: busca '(\w+)@(\w+\.\w+)' y reemplaza con '$1 en $2' convierte '[email protected]' a 'ana en ejemplo.com'. Útil para intercambiar formatos de fecha — busca '(\d{2})/(\d{2})/(\d{4})' reemplaza '$3-$2-$1' convierte '24/12/2025' a '2025-12-24' (ISO 8601).
¿Cómo funciona el orden de Reemplazo Masivo — puede un par posterior re-coincidir con salida anterior?
Sí, y es un error común. Cada par se ejecuta en secuencia sobre el estado actual del texto. Si el par 1 cambia 'gato' por 'perro' y el par 2 cambia 'perro' por 'caballo', terminas con 'caballo' por todas partes — no lo que querías. Solución: usa un marcador para la primera pasada. Par 1: 'gato' → '__TMP1__'. Par 2: 'perro' → 'caballo'. Par 3: '__TMP1__' → 'perro'. Esto garantiza independencia. El modo masivo es línea por línea en la forma 'buscar → reemplazar' (usa → o -> como separador); líneas en blanco o mal formadas se ignoran.

¿Por qué mi búsqueda regex no encuentra lo que espero?
Tres causas comunes. Primera, caracteres especiales no escapados: punto (.), asterisco (*), más (+), interrogación (?), paréntesis, corchetes, llaves, barra invertida, circunflejo, dólar, pipe — deben escaparse con barra invertida para coincidir literalmente. Segunda, cuantificadores codiciosos vs perezosos: '<.*>' coincide desde el primer '<' al último '>' en la línea; usa '<.*?>' para coincidencia perezosa. Tercera, sensibilidad a mayúsculas — si tu texto es 'HOLA' pero buscas 'hola' sin activar insensible a mayúsculas, sin coincidencia. Prueba primero en una muestra pequeña; el contador Coincidencias Encontradas muestra cero cuando nada coincide.
¿Hay botón de deshacer si el reemplazo fue incorrecto?
Sin deshacer integrado — pero puedes prevenir desastres copiando el original a una segunda pestaña primero (portapapeles) o ejecutando el modo Reemplazar Solo la Primera como prueba antes de comprometer Reemplazar Todas. El contador 'Total de Reemplazos' mostrado tras cada ejecución te dice cuántas sustituciones ocurrieron, así que un número inesperadamente alto (digamos esperabas 5 pero obtuviste 200) es una alerta para inspeccionar la salida antes de pegarla de vuelta a producción. Refrescar la pestaña pierde todo — copia el resultado fuera antes de navegar.
¿Cómo reemplazo saltos de línea o tabulaciones?
Activa Usar Regex, porque \n (salto de línea) y \t (tabulación) son secuencias de escape regex, no texto literal. Para convertir saltos de línea en espacios, busca '\n' reemplaza por un espacio. Para unir párrafos con saltos forzados, busca '\n+' (uno o más saltos) reemplaza por ' '. Para convertir tabulaciones en comas para limpieza CSV, busca '\t' reemplaza ','. Para quitar retornos de carro de Windows, busca '\r' reemplaza por nada. Para colapsar series de espacios en uno, busca '\s+' reemplaza ' '. El cuadro de reemplazo no interpreta \n, así que para INSERTAR un salto necesitas regex en el lado de búsqueda; para limpieza de datos la dirección más común (quitar saltos) funciona directamente. Consejo: usa Vista Previa primero para confirmar qué espacios se tocarán.
¿Cómo previsualizo coincidencias antes de reemplazar (simulación)?
Pulsa Vista Previa en vez de Reemplazar. Ejecuta tu búsqueda de forma no destructiva y lista cada coincidencia con unos 25 caracteres de contexto a cada lado, con el texto coincidente resaltado, más un conteo total arriba. Esto resuelve directamente el problema de 'sin deshacer': confirmas el número de reemplazos y ves exactamente qué texto cambiará antes de comprometerte. Si esperabas 5 coincidencias pero la vista previa muestra 200, detectaste el patrón demasiado amplio antes de arruinar tu documento. Funciona en modo simple y masivo (cada par se etiqueta con su propio conteo) y limita a las primeras 500 coincidencias para mantener la página ágil. El regex inválido se reporta en línea en lugar de fallar en silencio.
¿Mi texto sale del navegador?
No. Toda búsqueda/reemplazo se ejecuta en JavaScript del navegador vía String.replace() y RegExp directamente sobre el valor del textarea. Sin fetch() al servidor, sin analítica con contenido, sin escritura en localStorage. La pestaña Network de DevTools confirma cero peticiones salientes al pulsar Reemplazar. Seguro para contenido sensible como código fuente interno, PII de clientes, documentos legales o claves de cifrado — nada se sube ni se registra.
