0

テキストファイルにパラメータの行があり、複数行にまたがることができます。それらは文字のシーケンスによって終了します(実際の改行)。これは、複数の行にまたがったり、次の3つの(網羅的ではない)例のようにスペースを含むこともできます。

< 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 に答える