私はここで手に奇妙な質問が少しあります。私は、各文字が別の文字に置き換えられるようにエンコードされたテキストを持っており、各文字を正しい文字に置き換えるアプリケーションを作成しています。しかし、私は問題を解決するのに苦しんでいるのを見つけました。私は例をお見せしましょう:mutliple一度にコールを交換する方法
今Original text: This is a line.
Encoded text: (.T#*T#*%*=T50;
、私が言ったように、各文字は別の文字を表し、「(」、「T」であるように、実際に 『H』であると
「」。今、私はちょうど
string decoded = encoded.Replace('(','T'); //T.T#*T#*%*=T50;
で行くことができそして、それは一つの問題を解決しますが、私は実際にエンコードされた文字「T」の文字に達したときに「私は」私は「私は」で、すべての「T」を置換する必要がありますこれは、以前にデコードされた文字 'T'(以前は '(')であったもの)も、エンコードされた 'T'と共に変化することを意味します。
//T.T#*T#*%*=T50; -> i.i#*i#*%*=i50;
このような状況では、まず逆に 'T'を 'i'に変更してから '(' '' T ''に変更する必要がありますが、その種の分析を変更することは選択肢ではありません。
私はこのタスクを正しく実行するために何ができるのですか?
ありがとうございました!
ネストした 'string.Replace'ステートメントを使用すると、ひどく非効率的になります。あなたは暗号化アルゴリズムを拡張できますか?それは単にいくつかの関数に応じてASCII値を変更している場合は、あなたの文字列をchar配列として列挙する方が良いでしょう。 –
正規表現 '.replace'を使ってこれを達成することさえできます。このリンクに従ってください。http://stackoverflow.com/questions/7351031/regex-replace-multiple-groups –