我有一个字符串string rx;
此字符串具有以下类型的数据:" v = 123.111i = 10.123r = 1234 \ r \ n"
所以,我想要的: - 有3个浮点(或其他一些十进制变量)变量," v" I"和" r"。 -scan字符串...格式字符串如" v =%。3fi =%。3fr =%。3f \ r \ n"其中%.3f是值(3位小数)
答案 0 :(得分:0)
var result = Regex.Matches(rx, @"\d+([,.]\d{1,3})?");
答案 1 :(得分:0)
使用Regex
和Double.Parse
:
var inputString = @"v=123.111i=10.123r=1234\r\n";
foreach (Match match in Regex.Matches(inputString, @"\d+[.]?\d{3}"))
{
double result = Double.Parse(match.Value);
}
解释
\d+ digits (0-9)
(1 or more times, matching the most amount possible)
[.]? character of: '.'
(optional, matching the most amount possible)
\d{3} digits (0-9)
(3 times)
我使用了Double.Parse
。它将数字的string
表示转换为等效的双精度浮点数。