2016-06-21 12 views
-2

私は、単語がスペルミスであり、2つの単語の組み合わせであると思われる場合、単語を自動的に修正する方法を探しています。例えば、「considerof」は「考慮する」べきです。任意のリードまたは任意の例は非常に高く評価されます。ありがとう!c#スペルミスのある単語列のWPFスペルチェッカー。

+0

これはASP.NET、Winforms、WPFのですか? – Brad

+0

WPFアプリケーションです。 – inavnacorp

+0

あなたはこれを見ましたか? https://msdn.microsoft.com/en-us/library/system.windows.controls.spellcheck(v=vs.110).aspx – Brad

答えて

4

あなたのスペルミスを反復処理のためにこれを試してみてください:

TextBox tb = new TextBox(); 
tb.SpellCheck.IsEnabled = true; 
tb.Text = @"I am looking for ways to automatically fix a word if the word is miss spelled and seems to be a combination of two words. For example ""considerationof"" should be ""consideration of"". Any lead or any example will be greatly appreciated. Thanks!"; 

var spellingErrorIndex = tb.Text.Length; 
do 
{ 

    var spellingError = tb.GetSpellingError(spellingErrorIndex); 
    if (spellingError != null) 
    { 
     var suggestions = spellingError.Suggestions; //suggests "consideration of" 
     spellingError.Correct(suggestions.First()); 
    } 

    spellingErrorIndex = tb.GetNextSpellingErrorCharacterIndex(spellingErrorIndex, LogicalDirection.Backward); 
} while (spellingErrorIndex >= 0); 

tb.Textの値これが実行された後には、私は単語がある場合、自動的に単語を修正する方法を探しています」

ですミスは綴られていて、2つの言葉の組み合わせであるようです。たとえば、\ "考える\"は\ "考慮する\"でなければなりません。

最初の提案に「自動修正」します。それが最終的にあなたが望むものかどうかは、決断する必要があります。

これはTextChangedイベントに置くことは悪い考えでしょう(ビッグタイプが完了する前に単語を修正することは望ましくありません)。たぶんLostFocusのようなものが適切でしょう。

+1

ありがとうございました! – inavnacorp

関連する問題