3

特別なユースケースのために、小さくてシンプルなIRCクライアントを作成しています。他のユーザーがMirc/他の同様のクライアントから入力しているMircカラーコードを削除したいと思います。

スクリーンショット:

ここに画像の説明を入力してください

私は成功せずに約1時間試してきました:

string msg = string.Format("{0}\n", e.Data.Message);
//msg = Regex.Replace(msg, @"\x03(?:\d{1,2}(?:,\d{1,2})?)?", string.Empty); // Ive tried all sorts here.
txtActivity.AppendText(msg);

よろしくお願いします。

編集:

これは赤のHelloWorldです。

3
51
72
101
108
108
111
87
111
114
108
100
10

編集2:

ここに画像の説明を入力してください

編集3:

3
48
49
44
49
53
32
49
46
32
73
110
32
116
104
101
32
78
97
109
101
32
111
102
32
31
65
108
108
97
104
31
44
32
116
104
101
32
77
111
115
116
32
66
101
110
101
102
105
99
101
110
116
44
32
116
104
101
32
77
111
115
116
32
31
77
101
114
99
105
102
117
108
31
46
32
3
10
4

2 に答える 2

3

すべてのBURCコード(太字、下線、反転、および色)を削除する場合は、次のような正規表現を使用することもできます。

msg = Regex.Replace(msg, @"[\x02\x1F\x0F\x16]|\x03(\d\d?(,\d\d?)?)?", String.Empty);
于 2012-05-12T22:42:00.920 に答える
0

以下を試してください、あなたのために働きますhello world sample

s = new Regex(@"\x03(\d{1,2}(,\d{1,2})?)?").Replace(s, "");

基本的には、文字列の文字が何であるかを確認し、それらのいずれかに一致するように正規表現を作成します3...正規表現であるL文字を絞めます\x0351...正規表現にある3番\d

@編集3:
私が投稿したコードは次のようになります:

" 1. In the Name of Allah, the Most Beneficent, the Most Merciful. \n"

空白と改行が必要ない場合は、.Trim()を使用できます。

 s = new Regex(@"\x03(\d{1,2}(,\d{1,2})?)?").Replace(s, "").Trim();
于 2012-05-12T22:59:37.183 に答える