-4

私は次のような文字列を持っています:rgb (255, 0, 0),そして、数字と(コンマ)文字を除いて、その中のすべての文字を削除したいと思います。

これに基づいて2つの質問があります。

  1. 正規表現でそれを行う方法は?(私はこの答え,を見つけました、しかし私はそれに(コンマ)サインを含める方法がわかりません...)

  2. 正規表現はこの目的に最適な方法ですか?または、他の(より良い)方法がありますか?

(最高=最高のパフォーマンスを持つ)

4

3 に答える 3

8

確かに、正規表現は最も簡単です。

Regex.Replace(s, "[^\d,]+", "")

数字またはコンマ以外のすべてを置き換えます。

于 2012-08-29T15:12:26.017 に答える
3

参照した質問と同じアプローチを使用します。

Regex rgx = new Regex("[^\d,]");

str = rgx.Replace(str, string.Empty);
于 2012-08-29T15:13:32.287 に答える
1

正規表現は非常に実行可能なソリューションです。

各色の数字の前にオプションのスペースを許可するようにパターンを設定(?<colour>(\d*), ?(\d*), ?(\d*))しますが、1桁あたり最大3つの数字に制限しません(さらに微調整することでこれを修正できます)。

次に、グループとして色にアクセスします。

Regex pattern = new Regex(@"(?<colour>(\d*), ?(\d*), ?(\d*))");
Match m = pattern.Match(color);
Console.WriteLine(m.Groups["colour"].ToString());

戻り値:255、0、0

于 2012-08-29T15:24:21.667 に答える