如何使用动态分隔符解析文本文件

本文关键字:文本 文件 分隔符 何使用 动态 | 更新日期: 2023-09-27 18:32:36

文本文件的格式(为清楚起见,空格替换为点):

1....2...23....a....5
3.........4...bc...35

需要像这样将此文件解析为交错数组:

{
    {"1", "2", "23", "a", "5"},
    {"3", "", "4", "bc", "35"}
}

有人知道如何做到这一点吗?

更新:

最小空格数为 3。
订单项可以具有不同的宽度

ae18...1,1234....5,567.....-2,5
ae140....1,12...0,5673.....-2,3
aw1.............0,3573...-1,545

如何使用动态分隔符解析文本文件

查看您的示例,您的输入文本文件似乎使用了固定宽度或平面文件格式。如果是这样,根据需要将文件解析为多维数组的简单策略是读取文件的每一行,对于每一行获取不同的固定列,然后修剪掉前导空格。

# Read next line from file
String line = readNextLineFromYourFile();
# Store the parsed line in a list of strings
List<String> parsedLine = new List<String>();
# Extract fixed width parts of the line, trim away whitespace and store in parsed line
parsedLine.Add(line.Substring(0,1).Trim());
parsedLine.Add(line.Substring(1,5).Trim());
parsedLine.Add(line.Substring(1,5).Trim());
# Store parsed line in the result
result.Add(parsedLine);

使用 FileHelpers 引擎进行固定分隔 http://www.filehelpers.net/

使用正则表达式标识字母数字表达式。