正在解析 .txt 文件以将其转换为 XML

Parsing .txt file to convert it to XML

我有一个 .txt 文件,如下所示

如您所见,没有特定的分隔符。第一列后存在相同数量的 space,但所有名称的长度不同,因此下一列中的 space 数量不同。

我想添加一个循环遍历名称的 for 循环,它会在检测到 space 时增加变量的值。一旦我得到两个 space,它就会移到下一栏。但是这个解决方案行不通,因为有些人有中间名。有时他们的名字可能很长,会填满整个栏目。

那么我应该用什么算法来解决这个问题。我正在用 C# 编码。

你有一个固定宽度的文件。它应该附带一个规范,详细说明每个字段的宽度。

因此,解析它非常简单,只需枚举每一行,使用正确数量的字符并从每个字段中修剪任何白色 space。

例如,如果您知道您的 4 个字段的长度为 20、25、10、20,给定一行 row 您可以

var field1 = row.Substring(0,20).Trim();
var field2 = row.Substring(20,25).Trim();
var field3 = row.Substring(45,10).Trim();
var field4 = row.Substring(55,20).Trim();

这里有更多信息

Read fixed width record from text file

https://codereview.stackexchange.com/questions/27782/how-to-read-fixed-width-data-fields-in-net