El guion blando (U+00AD) es un guion en el que un motor de maquetación puede partir una palabra, y que por lo demás no se dibuja en absoluto. Un navegador o procesador lo muestra solo cuando decide que la palabra necesita partirse al final de una línea, lo que significa que «software» y «software» se ven iguales en pantalla y son cadenas distintas para cualquier máquina. El carácter es más antiguo que la web: los tipógrafos lo usaban para marcar a mano buenos puntos de división, y HTML lo heredó como ­.
Esa invisibilidad es exactamente la razón por la que sobrevive a un copiar y pegar. Cuando un PDF se exporta es normal que la capa de texto contenga guiones blandos en cada salto de línea que tenía el documento, y al copiar un párrafo del PDF, el lector toma los caracteres y no los píxeles. Lo que recuperas es una frase que parece perfecta y se comporta mal: buscar «software» no encuentra nada, un CMS guarda un título que su propio buscador no puede localizar, una comprobación de duplicados informa de dos registros que se ven iguales pero no lo son, y un validador o importación rechaza un campo por contener un carácter que nadie puede ver.
Esta herramienta elimina exactamente un carácter y nada más. Los guiones reales, los guiones medios y las rayas se dejan en paz, igual que los guiones de no separación (U+2011), que son visibles y suelen ser deliberados. Cada palabra restante queda reparada: la letra entre la que estaba el guion blando es la misma letra en la misma posición, así que no hay que reescribir nada. El contador de arriba muestra cuántos encontró antes de cambiar nada — y en un texto donde esperabas un guion visible, ver «0» es en sí mismo la respuesta: el carácter que persigues está en otra parte de la lista del verificador de guiones.