0

我的问题如下

我每行读取一个文件行,每一行都包含以下文本:

126,1,1,1,0,1,0,-0.005,-0.005,0.01,0.01,1.,-1.,0.,0.,0.,0.,1.,0.,       5P      8
-0.005,0.01,0.,0.,1.;                                                  5P      9

在一个循环中,每当我找到一个“,”时,我都会拆分每个元素,并将其保存到一个数组中,其中 PS[k].ParameterS = PSection[k].Split(',');

然后我尝试将每个元素保存到一个带有标签的新文本文件中,例如:

Element1 = 126
Element2 = 1

等等...我的问题是我需要修复截断/不完整的十进制元素,例如:“1”。“0。” “-1。” 用它们的正确表示“1.0”“0.0”“-1.0”

我已经搜索了很长时间,但我没有发现我是否可以使用通配符来修复这些元素。例如替换我使用的空格 PS[k].ParameterS[l] = PS[k].ParameterS[l].Replace(" ", ""); 在进行拆分过程之前。

到目前为止,我的输出只是用逗号“,”分隔的元素,但小数点不完整。

4

2 回答 2

2

在拆分之前在点和逗号/结尾之间添加一个零:

str = Regex.Replace(str, "\\.(?=;|,|$)", ".0");

这有效地在点和逗号/结束之间插入一个零。

于 2013-08-03T02:16:51.823 回答
0

(-{0,1}\d+\.)([^\d])您可以在拆分之前或之后用replaceAll$10$2来解决该问题

在此处查看我的示例,您可以将该匹配替换为 firstGroup+"0"+secondGroup

于 2013-08-03T02:10:17.753 回答