sto usando NHunspell per controllare una stringa per errori di ortografia in questo modo:intelligente controllo ortografico
var words = content.Split(' ');
string[] incorrect;
using (var spellChecker = new Hunspell(affixFile, dictionaryFile))
{
incorrect = words.Where(x => !spellChecker.Spell(x))
.ToArray();
}
funziona questo genere, ma ha alcuni problemi. Ad esempio, se sto controllando la frase "Questo è un (molto buono) esempio", verrà segnalato "(molto" e "buono") come errato. O se la stringa contiene un tempo come "8:30", lo segnalerà come una parola errata. Ha anche problemi con virgole, ecc.
Microsoft Word è abbastanza intelligente da riconoscere un elenco di parole, delimitato da virgole o da virgole. Sa quando non usare un dizionario inglese e sa quando ignorare i simboli. Come posso ottenere un controllo ortografico simile e più intelligente nel mio software? Ci sono librerie che forniscono un po 'più di intelligenza?
MODIFICA: Non voglio forzare gli utenti a installare Microsoft Word sul proprio computer, quindi l'utilizzo di interoperabilità COM non è un'opzione.