0

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

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
4

3 回答 3

2

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

# 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);
于 2012-04-28T09:25:45.057 回答
1

Use the FileHelpers engine for fixed delimited http://www.filehelpers.net/

于 2012-04-28T09:38:17.587 回答
0

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

于 2012-04-28T09:07:35.793 回答