Nel mio progetto asp.net, ho due corde (in realtà, sono immagazzinate in un oggetto di sessione, quindi faccio un .ToString())C# - Mostra le differenze quando si confrontano le stringhe
Questo progetto fa parte dei miei esercizi di lingua giapponese gratuiti sul mio sito web (solo italiano per ora, quindi non collegherò/spam)
Per ora faccio un if (original == inputted.ToLower())
, ma mi piacerebbe confrontare le stringhe ed evidenziare le differenze sullo schermo
come questo:
originale: hiroyashi
scritto dall'utente: Hiro yo shi
stavo pensando per confrontare le due stringhe e salvare le differenze di un'altra variabile, con tag HTML, e poi mostrare su un controllo Literal ... ma ... se le differenze sono molte, o l'input è più corto ... come farlo?
Sembra che ci sia bisogno di un'enorme quantità di codice ... o no?
La "y" è in comune, quindi perché è evidenziato come una differenza? –
Supponendo che si tratti di un errore, si tratta di un problema molto noto, solitamente chiamato il problema più lungo di secondaria importanza; Sono sicuro che puoi trovare esempi di algoritmi che trovano la LCS delle stringhe. Ecco il mio articolo su come farlo con gli array in JScript, ma potresti facilmente adattarlo alle sequenze di caratteri in C#: http://blogs.msdn.com/ericlippert/archive/2004/07/21/189974.aspx –
ah, ho dimenticato di aggiungere un altro elemento di difficoltà: la Y è evidenziata perché mostro il SYLLABLE sbagliato in giapponese –