जाँच मैं तो जैसे वर्तनी त्रुटियों के लिए एक स्ट्रिंग की जाँच करने के NHunspell उपयोग कर रहा हूँ:बुद्धिमान जादू
var words = content.Split(' ');
string[] incorrect;
using (var spellChecker = new Hunspell(affixFile, dictionaryFile))
{
incorrect = words.Where(x => !spellChecker.Spell(x))
.ToArray();
}
यह आम तौर पर काम करता है, लेकिन यह कुछ समस्या है। उदाहरण के लिए, यदि मैं वाक्य की जांच कर रहा हूं "यह एक (बहुत अच्छा) उदाहरण है", यह गलत वर्तनी के रूप में "(बहुत" और "अच्छा)" की रिपोर्ट करेगा। या यदि स्ट्रिंग में "8:30" जैसे समय होता है, तो यह एक गलत वर्तनी वाले शब्द के रूप में रिपोर्ट करेगा। इसमें अल्पविराम, आदि
माइक्रोसॉफ्ट वर्ड शब्द, समय, या अल्पविराम-शब्दों की सीमित सूची को पहचानने के लिए पर्याप्त स्मार्ट है। यह जानता है कि अंग्रेजी शब्दकोश का उपयोग न करें, और यह जानता है कि प्रतीकों को अनदेखा करना कब होता है। मैं अपने सॉफ़्टवेयर में एक समान, अधिक बुद्धिमान वर्तनी जांच कैसे प्राप्त कर सकता हूं? क्या कोई पुस्तकालय है जो थोड़ा और बुद्धि प्रदान करता है?
संपादित करें: मैं उपयोगकर्ताओं को अपनी मशीन पर माइक्रोसॉफ्ट वर्ड स्थापित करने के लिए मजबूर नहीं करना चाहता, इसलिए COM इंटरऑप का उपयोग करना एक विकल्प नहीं है।