Tôi đang sử dụng NHunspell để kiểm tra một chuỗi lỗi chính tả như sau:Intelligent kiểm tra chính tả
var words = content.Split(' ');
string[] incorrect;
using (var spellChecker = new Hunspell(affixFile, dictionaryFile))
{
incorrect = words.Where(x => !spellChecker.Spell(x))
.ToArray();
}
thường này hoạt động, nhưng nó có một số vấn đề. Ví dụ, nếu tôi đang kiểm tra câu "Đây là một ví dụ (rất tốt)", nó sẽ báo cáo "(rất" và "tốt)" như bị viết sai chính tả. Hoặc nếu chuỗi chứa thời gian như "8:30", nó sẽ báo cáo đó là một từ sai chính tả. Nó cũng có vấn đề với dấu phẩy, v.v.
Microsoft Word đủ thông minh để nhận dạng danh sách từ, phân tách hoặc phân cách bằng dấu phẩy. Nó biết khi nào không sử dụng một từ điển tiếng Anh, và nó biết khi nào bỏ qua các biểu tượng. Làm thế nào tôi có thể nhận được một kiểm tra chính tả tương tự, thông minh hơn trong phần mềm của tôi? Có thư viện nào cung cấp thông tin tình báo hơn một chút không?
EDIT: Tôi không muốn ép buộc người dùng cài đặt Microsoft Word trên máy của họ, vì vậy việc sử dụng COM interop không phải là một tùy chọn.