如何从 C# 中的格式化文本文件中捕获双精度值

本文关键字:文件 双精度 文本 格式化 | 更新日期: 2023-09-27 18:32:16

我想从excell文件中提取数据并编辑一些字段并将其保存在数据库中 我的excell文件包含这样的值alpha=10e-4 , BETA=10e-4我想将例如 alpha 和 beta 值保存在单独的字段中,并以双格式存储主题,这就是我的做法:例如,如果字符串文件rr="alpha=10e-4 , BETA=10e-4"

string AlPHA="";
string BETA="";
ALPHA=rr.substring(0,indexof(",")+1);
ALPHA=ALPHA.replace("alpha=","");
ALPHA=ALPHA.replace(" , ","");
double alpha=convet.ToDouble(ALPHA);

我很确定这种方式不是从文本文件中提取值的聪明方法,当我们添加额外的空格或类似的东西时,它可能不起作用那么我该怎么做呢?有什么相似之处?

如何从 C# 中的格式化文本文件中捕获双精度值

使用正则表达式,首先将所有文件读取到字符串变量并将其传递给 Regex.Matches:

var input = File.ReadAllText(path);
var matches = Regex.Matches(input, @"('d+e'-'d)");
foreach (var match in matches)
{
}

在你的例子中,问题是这一行

ALPHA=ALPHA.replace(" , ","");

将其替换为

ALPHA = ALPHA.Replace(",", "").Trim();

它奏效了 ( alpha=0.001