我的问题如下
我从每行的文件行读取,每行包含此文本:
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
依此类推......我的问题是我需要修复trucated / incomplete十进制元素,例如:“1。” “0”。 “-1”。用他们的正确表示“1.0”“0.0”“-1.0”
我已经搜索了很长时间,但我还没有发现是否可以使用外卡来修复这些元素。例如,替换我使用的空白空间 PS [k] .ParameterS [l] = PS [k] .ParameterS [l] .Replace(“”,“”); 在进行拆分过程之前。
到目前为止,我的输出只是用逗号“,”分隔的元素,但是小数位不完整。
答案 0 :(得分:2)
在分割之前在点和逗号/结尾之间加零:
str = Regex.Replace(str, "\\.(?=;|,|$)", ".0");
这有效地在点和逗号/结尾之间插入零。
答案 1 :(得分:0)
您可以用(-{0,1}\d+\.)([^\d])
替换所有$10$2
,以便在进行拆分之前或之后解决该问题
view my example here您可以将该匹配替换为firstGroup +“0”+ secondGroup