Tengo una aplicación escrita en C# que hace una gran cantidad de comparación de cadenas. Las cadenas se extraen de una variedad de fuentes (incluida la entrada del usuario) y luego se comparan. Sin embargo, estoy teniendo problemas cuando comparo el espacio '32' con el espacio sin interrupción '160'. Para el usuario, se ven iguales y esperan una coincidencia. Pero cuando la aplicación hace la comparación, no hay coincidencia.Comparación de cadenas, .NET y espacio sin interrupciones
¿Cuál es la mejor manera de hacerlo? ¿Voy a tener que ir a todas las partes del código que hacen una comparación de cadenas y normalizar manualmente los espacios sin interrupción a los espacios? ¿.NET ofrece algo para ayudar con eso? (He probado todas las opciones de comparación, pero ninguna parece ayudar.)
Se ha sugerido que normalice las cadenas al recibirlas y luego permita que el método de comparación de cadenas simplemente compare las cadenas normalizadas. No estoy seguro de que sea sencillo hacerlo porque, en primer lugar, lo que es una cadena normalizada. ¿Qué es lo que normalizo también? Claro, por ahora puedo convertir espacios sin rupturas en espacios abiertos. Pero, ¿qué más puede aparecer? ¿Puede haber potencialmente muchas de estas reglas? Podrían incluso estar en conflicto. (En un caso quiero usar una regla y en otro no).
Aquí puede editar su propia pregunta para añadir más información o aclarar. –