0

我在一个文本文件中有几行参数,可以分布在几行上。它们由一系列字符终止(实际的换行符),这些字符也可以分布在多行或包含空格,如以下三个(非详尽)示例:

< x >

< x 
  > 

<   x >

我想整理这个文本文件,以便我可以真正解析它。输出应该是这样的(P1 ... P3 是参数):

P1 P2 P3 < x >
P1 P2 P3 < x >
P1 P2 P3 < x >

原来的:

P1 P2 P3 < x   >

P1 P2    P3 < x 

>
P1 P2 

P3 < 
x >
4

2 回答 2

1

你应该用一个简单的词法分析器就可以了。

请参阅以前的一些 SO 问题:

于 2012-11-20T09:01:20.030 回答
1

好吧,一个非常转储的方法会遍历它,一个字符一个字符,如下所示:

  var output = new List<string>(); // this holds the parameter lines
  var line = string.Empty;
  foreach (var c in str) // str holds the input string
  {
    if (c == '\n' || c == '\r') continue;

    line += c;
    if (c == '>')
    {
      output.Add(line);
      line = string.Empty;
    }
  }

你仍然需要进行格式化等,但我希望你明白......

于 2012-11-20T09:08:28.123 回答