我有以下对象:
public class Color
{
public string RGB = "000225123";
}
我需要能够解析出 R、G 和 B 组件,但它们可能不是那么精确,但是,我会知道顺序。所以一种方式,它可能是RGB
,但另一种方式它可能是RBG
。
我想过这样的事情:
string G = RGB.Substring(RGB.IndexOf('2'),3);
但是在这里我碰巧知道 G 的开始和结束位置,所以我可以对其进行硬编码,这让我想到了另一个问题,即存储订单的最佳方式是什么。我曾想过做类似的事情:
string order = "RGB";
string RGB = "000225123";
string R = RGB.Substring(order.IndexOf('R'),3);
上述方法可行,但是对于每个部分可以是不同长度的情况,R
例如可以是 2 或 3 个字符,那是我单独存储的东西还是我将其存储在订单中?
我可能有这样的数字:
28-34-29-000-00.0
或者它可能是有序的
29-34-28-000-00.0
在上面的28
和29
被切换,我会知道这个顺序,我只需要知道如何解析它。
这是一个更现实的场景和解决方案,但我不确定它是否足够有效:
字符串顺序=“TSR”;
string value = "20-10-28-0000-0011";
string[] tokens = value .Split('-');
string t= tokens[order.IndexOf('T')];
string s= tokens[order.IndexOf('S')];
string r= tokens[order.IndexOf('R')];