代碼示例中讀出空間分隔的值:正則表達式C#
string flowValues = @"(?<day>\d{2})\s+(?<val1>(\d+\.?\d+)|\w+)\s+(?<val2>(\d+\.?\d+)|\w+)?\s+(?<val3>(\d+\.?\d+)|\w+)\s+(?<val4>(\d+\.?\d+)|\w+)?\s+(?<val5>(\d+\.?\d+)|\w+)\s+(?<val6>(\d+\.?\d+)|\w+)?\s+(?<val7>(\d+\.?\d+)|\w+)\s+(?<val8>(\d+\.?\d+)|\w+)\s+(?<val9>(\d+\.?\d+)|\w+)?\s+(?<val10>(\d+\.?\d+)|\w+)\s+(?<val11>(\d+\.?\d+)|\w+)?\s+(?<val12>(\d+\.?\d+)|\w+)";
regex = new Regex(flowValues, regexOptions);
inputData = "30 64.0 96.6 101 172 258 647 612 599 184 74.8 63.0";//fileContents[10 + i];
match = regex.Match(inputData);
dataMatrix[i, 0] = match.Groups["val1"].Value;
dataMatrix[i, 1] = match.Groups["val2"].Value;
dataMatrix[i, 2] = match.Groups["val3"].Value;
dataMatrix[i, 3] = match.Groups["val4"].Value;
dataMatrix[i, 4] = match.Groups["val5"].Value;
dataMatrix[i, 5] = match.Groups["val6"].Value;
dataMatrix[i, 6] = match.Groups["val7"].Value;
dataMatrix[i, 7] = match.Groups["val8"].Value;
dataMatrix[i, 8] = match.Groups["val9"].Value;
dataMatrix[i, 9] = match.Groups["val10"].Value;
dataMatrix[i, 10] = match.Groups["val11"].Value;
dataMatrix[i, 11] = match.Groups["val12"].Value;
這裏,match.Groups["val2"].Value;
返回的值是96.6,而我希望它返回空字符串,而match.Groups["val11"].Value;
是,而我希望它返回74.8空。
輸入數據是每個月對應天數的一些流量值。所以: 請注意,這些值爲2008年。所以我們有一個值爲2月29日
不能使用string.split作爲一些值將是空字符串作爲是對於所討論上述 – umbersar
確定的疑難雜症的第二值的情況下。空的空間的目的是什麼?你能用這段代碼解釋一下你的目的嗎? –
在上面的主要問題解釋... – umbersar