【发布时间】:2020-12-20 08:56:23
【问题描述】:
我有一个文本文件,需要将所有 7 个元素(包括空元素)解析为数组以进行进一步处理。但是,除了空格之外,没有唯一的分隔符可供使用,并且一些数据/值将带有空格。每个“数据样本”的示例和一些块将具有空条目。我怎样才能做到这一点?
我的最终结果将与下面类似:
Array[0]:123456789
Array[1]:HLTX
Array[2]:5
Array[3]:BT5Q02
Array[4]:4SV
Array[5]:D8041
Array[6]:LIANG LIN
我的上述函数的代码现在如下所示,它将省略空值。这可能会遗漏一些所需的数据。
string[] splitlinecontent = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var OrderNum = splitlinecontent[0];
var OrderType = splitlinecontent[1];
int OrderQTY = int.Parse(splitlinecontent[2]);
var OrderSINumInRpt = splitlinecontent[3];
var OrderHoldMod = splitlinecontent[5];
var SalesPerson = splitlinecontent[6];
【问题讨论】:
-
欢迎堆栈溢出。请将示例数据作为文本而不是图像发布。所以它可以复制发布。此外,我建议使用 csv 阅读器,您可以将其作为 nuget 包找到。使用由已经解决您的问题的人开发的专业工具。不要重新发明轮子
-
将行分成子串并修剪尾随空白。
-
这是不如何写记录文件的完美例子
-
因为你有表格的标题,所以你知道表格的所有单元格在哪里(第一个单元格是从索引 0 到 10(没有第 10 位),第 10 位是开始第二个单元格等)然后您可以按索引拆分每一行,并且您拥有每个单元格的值,请注意,您可以修剪单元格中的所有值,这将只为您提供每个单元格中的文本数据(没有空格),如果它是空的(只是空格),它将是空的。
-
@AdrianoRepetti,非常感谢!我想这已经解决了我的问题!作为一名计算机科学专业的毕业生,工作了 10 多年,从未接触过真正的编程,这很有趣……现在我找到了进入这个领域的方法……很棒的东西!