我不喜欢正则表达式。 我有
string rgba = "[0.123,0.223,0.2,1]";
将它转换为double []的最佳方法是什么?
答案 0 :(得分:7)
rgba.Replace("]", String.Empty)
.Replace("[", String.Empty)
.Split(',')
.Select(double.Parse)
.ToArray();
或者,如果您知道它始终以[
开头并以]
结尾
rgba.Substring(1, rgba.Length - 2)
.Split(',')
.Select(double.Parse)
.ToArray();
如果你不喜欢LINQ
Array.ConvertAll(rgba.Substring(1, rgba.Length - 2).Split(','), double.Parse);
使用正则表达式非常昂贵,在这种情况下我不推荐使用它。
答案 1 :(得分:0)
你可以在正文中使用正则表达式:
\ d + \。\ d *
正则表达式将匹配一个或多个数字,然后是一个点,然后是任意数量的数字。