2011-09-12 31 views
-1

私は文字列入力エンコーディングの自動修正を行っています。そして、パターンをエンコードするための正規表現を作成したいと思います。例えばオートコレクトエンコードの正規表現パターン

var encoding = "utd-8"; 
Correct c = new Correct(encoding); 
var c.Correct(); 

、出力がutf-8です。 私は仕事の大部分を持っています(そして美しいものを書いたいくつかの偉大な人々からのいくつかのオープンソースコーディングを使用しています)。誰か助けてもらえますか?私は最終的に必要なもの

UPDATE

は、右のエンコーディングのための正規表現パターンです。 ユーザがエンコーディング名iso-8859-1を入力し、有効なエンコーディングがあるかどうかを確認します。

答えて

1

問題の解決方法を理解する前に、使用する技術を決めるべきではありません。正規表現は本当に必要ですか?

質問が正しく理解されている場合は、入力文字列がサポートされているエンコードのように見えるかどうかを確認する必要があります。 1行のコードを書く前に、次の点を理解しなければなりません。

  • あなたはどのエンコードをサポートしていますか?エイリアスをサポートしていますか(UTF-16Unicodeと同じですか)?
  • 入力文字列は、選択したエンコーディング(utd-8、utd-9、utd9、td9、9)とどのくらい異なるのですか?
  • 入力文字列 "utf-36"を指定すると、出力はUTF-16またはUTF-32になりますか?

おそらく、対象のインスピレーションのために、文字列距離アルゴリズムの1つ(たとえば、http://en.wikipedia.org/wiki/Levenshtein_distance)を見ることができます。そこにはまた "参照してください"セクションには、1トンのリンクがあります。

+0

また、オブジェクトのコンストラクタではなく、メソッドのパラメータとして 'encoding'変数を指定します。このようにして、1つの 'Correct'インスタンスは複数のエンコーディングを修正できます。または、メソッドを静的にします。 –

+0

私は何をしなければならないの自動自動入力文字列、この場合は何らかのエンコーディング(私は本当にエンコーディング機能を使用する気にしないでください私にはちょうど私の名前)申し訳ありません私は理解されませんでした。 – guyl

+0

入力文字列 "utf-36"は "utf-16"または "utf-32"に自動的に修正されますか?文字列 "xkueukr"は何に自動修正されますか?あなたは「puter」にあなたのためにこれらの決定をするように言うことはできません –