Limpiar una lista sin modificar sus valores

Para limpiar una lista conservando la escritura de los elementos que mantienes, trabaja sobre una copia, elimina solo las líneas innecesarias y empieza por los duplicados exactos. Decide por separado si quieres ordenar la lista o quitar espacios. Una mayúscula, un cero inicial o un espacio pueden formar parte de un identificador.

Definir qué se puede eliminar

Guarda el original antes de hacer cambios. Comprueba que cada línea corresponde a un elemento independiente. Una repetición puede representar varias operaciones reales; una línea vacía puede separar grupos. En esos casos, eliminarlas cambia la información, aunque el texto de las demás líneas quede intacto.

No pegues directamente un CSV estructurado en estas herramientas de líneas. Un campo entre comillas puede contener un salto de línea, y sus espacios forman parte del valor, como describe la RFC 4180. Para ese formato, consulta la guía de CSV a JSON.

Eliminar las líneas realmente innecesarias

La herramienta Eliminar líneas vacías quita tanto las líneas sin caracteres como las que solo contienen caracteres de espacio en blanco reconocidos por JavaScript.

Un espacio normal es un carácter concreto; los «caracteres de espacio en blanco» también incluyen las tabulaciones y determinados espacios Unicode, como el espacio de no separación. La herramienta conserva los espacios de las líneas que contienen texto. Sin embargo, un carácter invisible no es necesariamente un espacio en blanco reconocido: una línea que contiene un espacio de ancho cero U+200B permanece en el resultado.

Elegir la regla adecuada para los duplicados

En Eliminar líneas duplicadas hay cuatro opciones:

  • «Texto exacto (predeterminado)» distingue las diferencias de mayúsculas, minúsculas y espacios.
  • «Ignorar mayúsculas y minúsculas» agrupa las variantes con distintas mayúsculas y minúsculas según el idioma del navegador.
  • «Ignorar espacios al principio y al final» compara las líneas sin sus espacios en blanco exteriores.
  • «Ignorar mayúsculas, minúsculas y espacios exteriores» combina las dos reglas anteriores.

En todos los modos, la primera línea coincidente conserva la escritura de la entrada. Ignorar sus espacios durante la comparación no los elimina del resultado. Los espacios interiores siguen siendo significativos. Dos acentos visualmente idénticos pero codificados de forma distinta en Unicode no se normalizan automáticamente para eliminar duplicados.

Probar con referencias ficticias

Esta es una lista breve. El punto medio · representa un espacio real y ⇥ una tabulación; estos símbolos solo sirven para que el ejemplo resulte legible.

REF-0010

·REF-0002·
REF-0002
REF-0002
ref-0002
REF-2
·⇥

Al eliminar las líneas vacías, desaparecen la segunda y la última línea. Después, el modo exacto elimina únicamente la segunda aparición idéntica de REF-0002. Conserva REF-0010, ·REF-0002·, REF-0002, ref-0002 y REF-2, en ese orden.

En la lista sin líneas vacías, el modo que ignora los espacios conserva ·REF-0002· y elimina las dos líneas REF-0002 siguientes. La variante en minúsculas se mantiene. Con la opción combinada, también desaparece. REF-2 sigue siendo distinto de REF-0002: los ceros iniciales no se eliminan.

Si quieres eliminar realmente los espacios en blanco exteriores, utiliza Quitar espacios al principio y al final de cada línea. Este paso modifica los valores. Mantiene los espacios interiores y las líneas vacías. Aplica este tratamiento solo si esos espacios sobran y, si es necesario, vuelve a eliminar los duplicados exactos después. El comportamiento se basa en String.trim().

Ordenar solo si el orden se puede cambiar

La herramienta Ordenar líneas de texto ofrece «Como texto (item10 antes que item2)» y «Por valor numérico (item2 antes que item10)». Con REF-10 y REF-2, estos modos producen, respectivamente, REF-10 seguido de REF-2, y el orden inverso.

El modo numérico compara los números del texto sin reescribir las referencias: los ceros iniciales se conservan. Las líneas que se consideran equivalentes mantienen su orden original; las líneas vacías pasan al principio.

Ambos modos siguen las reglas del idioma del navegador, ignoran las diferencias entre mayúsculas y minúsculas y pueden considerar equivalentes determinados acentos. Por tanto, no es una comparación estricta carácter por carácter. La documentación de Intl.Collator explica estas diferencias entre idiomas. Conserva el orden original si representa una cronología o una prioridad.

Comprobaciones antes de sustituir el original

  • El original está guardado por separado.
  • Cada línea eliminada corresponde a una eliminación que querías hacer.
  • Se conservan las mayúsculas, las minúsculas, los espacios significativos y los ceros iniciales.
  • El resultado se ha probado en la aplicación de destino.

Preguntas frecuentes

¿Por qué sigue apareciendo un duplicado aparente?

Revisa los espacios en blanco, las mayúsculas y minúsculas y los caracteres Unicode. El modo exacto respeta esas diferencias; no cambies de regla sin entender qué función cumplen.

¿Hay que eliminar siempre los espacios antes que los duplicados?

No. Empieza por una comparación exacta. A veces basta con ignorar los espacios para eliminar duplicados y conservar la escritura de la primera aparición.

¿El procesamiento local significa que no hay conexiones de red?

El procesamiento se ejecuta en tu navegador. Al abrir la página, se cargan código y recursos desde el sitio: esto no garantiza una navegación sin solicitudes de red.