リッチテキストボックスでC#Winformsを使用しています。私は、基本的にスペルチェッカーのために、テキスト内の単語を強調表示するためにfindメソッドを使用しています。私が抱えている問題は、単語が別の単語の中に含まれている場合、単語を強調表示したくないということです。ここに例があります:リッチテキストボックスC#Winforms - 別の単語の中に含まれている単語を強調表示しない
テキスト=これはerroです。これは2番目のエラーです。 文字列の「erro」を検索しています。最初のエラーは「エラー」に修正されます テキスト=これはエラーです。これは2番目のエラーです。私は "ERRO" を検索したとき
は、今ではそれが好きでハイライト表示さ:
これは* ERRO * Rです。これは2番目のエラーです。
実際には、別の単語の中に含まれていない場合にのみ、その単語を強調表示できますか?つまり、それが別のものの中に含まれているかどうかをチェックしてスキップすることは可能ですか?
// Find the word.
ocrText.Find(this.ocrWords[wordToFindIndex], index, ocrText.TextLength, RichTextBoxFinds.None);
//TODO: Check to see if the found word is not contained inside another word
ありがとうございます。
まず「単語」の固体定義を作成する必要があります。試合の左右のキャラクターを見てください。任意にchar.IsLetter()がこれらの文字に対してtrueを返す場合は、それをスキップします。 –
VSエディタの* Find *ダイアログの* Match whole word *機能を意味しますか? – brgerner