-1

RGB:ABC.XX,DEF.XX,GHI.XX のような多くの文字列形式があります。ここで、ABCDEFGHI は数字です。

その文字列からR (ABC)、G (DEF)、B (GHI)を抽出する必要があります

RGB:AB.XX,DE.XX,GHI.XX
RGB:ABC.XX,DE.XX,GH.XX
RGB:ABC.XXX,DE.XX,GH.XX
RGB:ABC.XXX,DE.XX,GH.XX
...
...
...

ご覧のとおり、この文字列からこの rbg を抽出するには、考慮すべきことがたくさんあります。

私はLINQを使用しようとしましたが、それは私が思う混乱になるでしょう(それは最初の「R」(赤)のためだけです):

rgb[0] = new String(rgbName.SkipWhile(x => char.IsLetter(x) || x == ':').TakeWhile(x => char.IsNumber(x)).ToArray());

それを行うより効率的な方法はありますか?多分正規表現はそれを行うことができますが、私は専門家ではありません。どんな助けでも感謝します。

ありがとう。

4

3 に答える 3

1

この正規表現を試すことができます

.*?(?<R>\d+).*?(?<G>\d+).*?(?<B>\d+)

このようにグループにアクセスできます

 Regex.Match(input,regex).Groups["R"].Value;//Red value
于 2013-05-10T14:51:59.803 に答える