C # text. Sostituisci custodia
Domanda
Sto lavorando ad un wiki wiki per la mia comunità wiki che utilizza DotNetWikiBot Framework; è trovare una parola che è comunemente un refuso (come "abilty") e sostituirli con la correzione (come "abilità").
Funziona così com'è codificato:
p.text = p.text.Replace(@"\b" + typoArray[x, 0] + @"\b", typoArray[x, 1]);
Tuttavia, questo sostituirà " Abilty " con "abilità" che ovviamente causerà problemi, ma non riesco a capire come conservare il caso della parola sostituita (così Abilty diventa Abilità) a meno che la sostituzione dell'errore di battitura non sia intesa come maiuscola, indipendentemente da ciò che sta sostituendo: da gennaio a gennaio
Soluzione
Penso che farai meglio usando le espressioni regolari dallo spazio dei nomi System.Text.RegularExpressions.
Regex.Replace (str, " [A] " ;, " Z "); o qualche sua variante. Le espressioni regolari sono potenti.