Ho un'app scritta in C# che esegue molte comparazioni di stringhe. Le stringhe vengono estratte da una varietà di fonti (incluso l'input dell'utente) e vengono quindi confrontate. Tuttavia sto incontrando problemi quando si confronta lo spazio '32' con lo spazio non-breaking '160'. Per l'utente hanno lo stesso aspetto e quindi si aspettano una corrispondenza. Ma quando l'app fa il confronto, non c'è corrispondenza.Confronto di stringhe, .NET e spazio di interruzione
Qual è il modo migliore per farlo? Dovrò andare a tutte le parti del codice che eseguono il confronto di una stringa e normalizzare manualmente spazi non distruttivi negli spazi? .NET offre qualcosa per aiutarti? (Ho provato tutte le opzioni di confronto ma nessuna sembra aiutare.)
È stato suggerito di normalizzare le stringhe al momento del ricevimento e quindi lasciare che il metodo di confronto stringa confronti semplicemente le stringhe normalizzate. Non sono sicuro che sarebbe semplice farlo perché ciò che è una stringa normalizzata in primo luogo. Cosa lo normalizzo anche io? Certo, per ora posso convertire spazi ininterrotti in spazi di rottura. Ma cos'altro può apparire? Possono esserci potenzialmente molte di queste regole? Potrebbero persino essere in conflitto. (In un caso voglio usare una regola e in un'altra non lo faccio.)
È possibile modificare la propria domanda di aggiungere ulteriori informazioni o fornire chiarimenti. –