C#の「悪い」単語のための文字列を解析するための最良の方法は何ですか?

StackOverflow https://stackoverflow.com/questions/3209580

  •  13-09-2020
  •  | 
  •  

質問

私は何かを考えています:

foreach (var word in paragraph.split(' ')) {
  if (badWordArray.Contains(word) {
    // do something about it
  }
}
.

しかし、私はもっと良い方法があると確信しています。

事前にありがとう!

アップデート 私は自動的に猥褻さを削除しようとは思わない...私のWebアプリのために、私が「悪い」という言葉が使用されている場合、通知を受けたいです。それから私はそれが合法であることを確認するために自分自身を見直します。ソートの自動フラグ付けシステム。

他のヒント

私の仕事では、私たちのソフトウェアにいくつかの自動悪い言葉フィルタリングを採用しています(それはソースを閲覧するための衝撃的なものです。そして、猥褻の数ページを含むアレイに突然走ること)。

1つのヒントは、誰かがあなたの人でこっそりしようとしているということで、あなたのリストに対してテストする前にユーザー入力を前処理することです。そこで前処理によって、我々は

  • 入力内のすべての大文字
  • ほとんどの英数字以外のものを削除する(つまり、スペース、または句読点などの単位を置くだけです。)
  • 誰かが手紙の数字を離れようとしていると仮定して、次のようなことを行います。z、9でゼロをg、5で置き換えます。(Creative)

それからいくつかの友人がそれを壊そうとします。楽しいです。

辞書の使用としては、辞書の使用としてのHashKeyオブジェクトまたはDictionary<T1, T2を使用することを検討して、.contains()メソッドは、より効率的であるために.kontains()になるため、コードをより効率的にすることができます。これはあなたが大きな宣教リストを持っているならば、これは特に当てはまります(わかりませんが、ある程度あるのはわかりません!:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top