正则表达式.匹配错误不能从字符转换为字符串
本文关键字:字符 转换 字符串 不能 错误 正则表达式 | 更新日期: 2023-09-27 18:16:14
我在NET4.5中有这个c#代码来读取一个文本文件,看起来像这样:
1 3 10.1144881901 48.8578515599 340.2980957031 -3.9997586182 -2.0398821492 -56.6352938643
2 1 10.1137751593 48.8575005060 401.4981384277 -11.7762306910 3.4075851669 -92.5498187137
,我想改变第5行编号
代码
while ((line = file.ReadLine()) != null)
{
String pattern = @"('d+)'s+('d+)'s+('d+)'s+('d+)'s+('d+)";
foreach (var expression in line)
foreach (Match m in Regex.Matches(expression, pattern))
{
double value = Double.Parse(m.Groups[5].Value);
}
}
我得到这些编译错误:
错误CS1502:最佳重载方法匹配' system . text . regulareexpressions . regex。匹配(string, string)'有一些无效参数
错误CS1503:参数1:不能从'char'转换为'string'
摆脱你的外部foreach:
while ((line = file.ReadLine()) != null)
{
String pattern = @"('d+)'s+('d+)'s+('d+)'s+('d+)'s+('d+)";
foreach (Match m in Regex.Matches(line, pattern))
{
double value = Double.Parse(m.Groups[5].Value);
}
}
你迭代你的字符串,这是一个char数组。