Eliminador de espacios y limpiador de texto
Limpia texto desordenado eliminando espacios superfluos, tabulaciones y líneas vacías.
Cómo usar
- Pega tu texto en el área de entrada.
- Selecciona las opciones de limpieza deseadas (todas marcadas por defecto).
- Haz clic en Limpiar texto para procesar.
- Copia o descarga el resultado limpio.
Preguntas frecuentes
¿Qué cuenta como espacio en blanco?
Los espacios, tabulaciones, espacios irrompibles y otros caracteres de espacio Unicode. Los saltos de línea se gestionan por separado mediante las opciones «líneas vacías» y «reducir saltos de línea».
¿Esta herramienta modifica mi contenido?
No. Solo elimina o reduce caracteres de espaciado. Tus palabras, puntuación y demás contenido permanecen intactos.
¿Puedo usarla para código?
Puedes, pero con cuidado · eliminar los espacios iniciales destruirá la indentación del código. Usa las casillas individuales para controlar exactamente qué se limpia.
Qué significa realmente «espacio en blanco»
Un carácter de espacio en blanco es uno que produce espacio en blanco cuando se renderiza el texto, en lugar de un glifo visible, y se usa para separar palabras, sangrar líneas y separar párrafos. La base de datos de caracteres Unicode asigna la propiedad formal White_Space a exactamente 25 puntos de código. Los sospechosos habituales (espacio, tabulador, avance de línea, retorno de carro) cubren la mayoría de lo que pegarás alguna vez, pero la lista completa también incluye el espacio de no separación (U+00A0), el espacio estrecho de no separación (U+202F), 11 espacios tipográficos en el rango U+2000-U+200A, los separadores de línea y de párrafo (U+2028, U+2029), el espacio matemático medio (U+205F) y el espacio ideográfico de ancho completo (U+3000) que se usa tras la puntuación CJK.
Un grupo aparte parece invisible pero Unicode no lo clasifica como espacio en blanco: la marca de orden de bytes (U+FEFF), el espacio de ancho cero (U+200B), el ensamblador y el no ensamblador de ancho cero (U+200D, U+200C), el ensamblador de palabras (U+2060) y el guion suave (U+00AD). Estos son controles de formato, no espacios, y la mayoría de los informes de tipo «limpié mi texto pero algo sigue mal» se remontan a uno de ellos.
Qué hace esta herramienta, opción por opción
- Recortar los espacios al inicio/final de cada línea: elimina los espacios en blanco al inicio y al final de cada línea individual. Útil para limpiar las citas con sangría del correo, o el relleno a la derecha añadido por accidente al copiar y pegar.
- Reducir los espacios múltiples a uno solo: las secuencias de dos o más espacios se convierten en un único espacio. Gestiona el hábito de máquina de escribir de poner doble espacio tras un punto (que la mayoría de las guías de estilo modernas (Chicago, AP) desaconsejan).
- Eliminar las líneas vacías: descarta cualquier línea que esté vacía o que contenga solo espacios en blanco. Una necesidad común tras pegar texto de archivos PDF.
- Convertir las tabulaciones en espacios: reemplaza cada
\tpor espacios. Ten cuidado con el código: Python y YAML son sensibles a los espacios en blanco, y los Makefiles en realidad requieren la sangría con tabuladores en las líneas de receta. - Recortar el inicio y el final del texto entero: elimina los espacios en blanco iniciales y finales de toda la cadena de una vez (el equivalente del
trim()de JavaScript). - Reducir los saltos de línea múltiples a uno solo: las secuencias de caracteres de salto de línea consecutivos se convierten en un único salto de línea. Útil cuando «Eliminar las líneas vacías» es demasiado agresivo y quieres conservar una sola línea vacía para los saltos de párrafo.
Las seis opciones son interruptores independientes (desmarca cualquiera que quieras omitir) y cada una se ejecuta solo sobre el texto que pegas. No se sube nada; la limpieza ocurre en tu navegador mediante pasadas de regex de JavaScript.
Cuándo recurrirías a esto
- PDF y documentos de Word. Los PDF insertan saltos de línea rígidos en el final visual de cada línea y a veces conservan la separación silábica; el texto pegado de Word a menudo tiene espacios de no separación entre los números y las unidades (10 km), alrededor de la puntuación francesa o tras los tratamientos como Sr. Smith.
- Normalizar la entrada del usuario. Los espacios finales en un campo de «Nombre» o de correo hacen que
"Smith"y"Smith "se comparen como desiguales. Eliminarlos en la entrada (o antes de la búsqueda) elimina toda una clase de errores de «usuario no encontrado». - Preparación de CSV y TSV. Los valores de campo con espacios iniciales o finales estropean los analizadores posteriores que esperan claves de coincidencia exacta. La exportación CSV en UTF-8 de Excel antepone silenciosamente una marca de orden de bytes, que un analizador posterior que no elimine la BOM verá como parte del encabezado de la primera columna, produciendo un
colnamede aspecto extraño. - Borradores de Markdown y de blog. Varias líneas vacías consecutivas se renderizan como un único bloque en Markdown, pero inflan los archivos fuente y hacen ruidosos los diffs.
- Firmas de correo, transcripciones de chat e identificadores: una limpieza rápida antes de pegarlos en otro documento, o antes de enviar un código promocional o una clave de licencia a una API que es estricta con los espacios en blanco.
Trampas comunes
- Eliminar el espacio en blanco inicial rompe el código. Python y YAML usan la sangría como sintaxis. Elimínala y el archivo se ve idéntico al ojo pero no se analizará.
- La conversión de tabuladores rompe los Makefiles. GNU make se niega a ejecutarse si las líneas de receta están sangradas con espacios en lugar de tabuladores. La misma precaución se aplica a la salida de gofmt de Go.
- El NBSP se ve idéntico a un espacio. Un usuario a menudo ve un solo «espacio» entre dos palabras y supone que cualquier limpiador lo detectará. La regex
\sde JavaScript sí coincide con el espacio de no separación en los navegadores modernos, pero si escribes tu propia regex en otro lenguaje (o en un entorno muy antiguo) puede que necesites enumerar el NBSP explícitamente. - El espacio en blanco final en Markdown tiene significado. Dos espacios finales al final de una línea de Markdown crean un salto de línea
<br>. Recortar el espacio en blanco final por línea elimina esos saltos de línea; si dependes de ellos, deja la opción desactivada. - Finales de línea de Windows. Los archivos copiados de una fuente de Windows usan CRLF (
\r\n). Las pasadas de «eliminar las líneas vacías» y «reducir los saltos de línea» necesitan reconocer el CR; de lo contrario, un\rperdido puede sobrevivir al final de cada línea. - Los caracteres de ancho cero sobreviven a una eliminación de espacios en blanco. El ZWSP (U+200B), el ZWJ (U+200D), el ZWNJ (U+200C), el ensamblador de palabras (U+2060) y el guion suave (U+00AD) no son espacios en blanco de Unicode, así que un limpiador genérico de espacios en blanco no los tocará. Si tu texto se siente raro tras la limpieza, pégalo en un visor hexadecimal o en un inspector de «caracteres invisibles» aparte.
- Relación de aspecto entre la entrada y la salida. La limpieza es irreversible dentro de esta página una vez que copias o cierras, no hay historial de deshacer. Guarda el original en algún sitio por si lo necesitas.
Breve contexto técnico
Esta herramienta se ejecuta íntegramente en tu navegador usando el motor de regex integrado de JavaScript. El String.prototype.trim() de los motores modernos (todos los navegadores actualizables desde alrededor de 2015) elimina tanto el espacio de no separación como la marca de orden de bytes, porque la especificación de ECMAScript define su conjunto de recorte como la unión de las producciones WhiteSpace y LineTerminator, una lista que cubre los tabuladores, el espacio normal, el NBSP, la BOM, los espacios tipográficos y los saltos de línea CR / LF / LS / PS. Excluye solo un carácter de espacio en blanco de Unicode, U+0085 (NEL), que es una curiosidad heredada de EBCDIC y casi nunca aparece en el texto moderno.
Para entradas muy grandes, la parte lenta rara vez es la pasada de regex, sino escribir el resultado de vuelta en el área de texto y volver a renderizar el DOM. Las entradas de hasta unos pocos megabytes suelen ir bien en un portátil moderno; más allá de eso, las herramientas de línea de comandos (tr, sed, awk o un breve script de Python) suelen ser más rápidas.
Más preguntas
¿Qué diferencia hay entre un espacio normal y un espacio de no separación?
Se renderizan con el mismo ancho, pero el espacio de no separación (NBSP, U+00A0) le dice al renderizador que no rompa una línea en ese punto. Word, Google Docs y muchos CMS lo insertan entre los tratamientos y los apellidos (Sr. Smith), entre los números y las unidades (10 km) o alrededor de los símbolos de moneda ($ 5). Es el carácter «raro» más común de encontrar en el texto pegado, y es la razón por la que el hueco de aspecto idéntico entre dos palabras a veces se resiste a una regex escrita para los espacios normales.
¿Esto eliminará los caracteres de ancho cero o la marca de orden de bytes?
El manejo de espacios en blanco de JavaScript generalmente detecta la marca de orden de bytes (U+FEFF). No detecta el espacio de ancho cero (U+200B), el ensamblador de ancho cero (U+200D), el no ensamblador de ancho cero (U+200C), el ensamblador de palabras (U+2060) ni el guion suave (U+00AD), ya que Unicode no los clasifica como espacios en blanco, así que sobreviven a una pasada de espacios en blanco por diseño. Si sospechas que uno de ellos está en tu texto, necesitarás un inspector de caracteres invisibles en su lugar.
¿Por qué las líneas vacías y los saltos de línea consecutivos son dos opciones separadas?
«Eliminar las líneas vacías» borra todas las líneas vacías: el resultado es un bloque continuo de texto sin saltos de párrafo. «Reducir los saltos de línea múltiples a uno solo» conserva un único salto de línea entre los párrafos y solo elimina los sobrantes. Si quieres párrafos legibles en la salida, deja la primera opción desactivada y usa la segunda.
¿Hay un límite de longitud?
No hay un límite estricto, la herramienta puede gestionar cómodamente texto en el rango de decenas de miles a unos pocos millones de caracteres en un portátil moderno. El límite es el rendimiento del área de texto de tu navegador: los pegados muy grandes empiezan a ir con retraso al escribir o copiar, no durante el paso de limpieza en sí.
¿Se envía algo a un servidor?
No. El texto nunca sale de tu navegador. La limpieza se ejecuta localmente en JavaScript, el resultado se escribe de vuelta en un área de texto de la misma página, y puedes usar la página sin conexión una vez cargada. Lo mismo se aplica a todas las herramientas de Absolutool.