文本文件的格式(为清晰起见,用点代替空格):
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
答案 0 :(得分:2)
查看您的示例,您的输入文本文件似乎使用fixed width或平面文件格式。如果是这样,根据需要将文件解析为多维数组的简单策略是读取文件的每一行,为每一行获取不同的固定列,然后修剪掉前导空格。
# 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);
答案 1 :(得分:1)
将FileHelpers引擎用于固定分隔的http://www.filehelpers.net/
答案 2 :(得分:0)
使用正则表达式识别字母数字表达式。