2011-10-21 16 views
1

特定の規則に従って、処理されるテキストのブロックが異なる方法でCSVファイルを解析する必要があります。CSVファイルからテキストのブロックを読む - vb.net

userone,columnone,columntwo 
userthirteen,columnone,columntwo 
usertwenty,columnone,columntwo 

customerone,columnone<br> 
customertwo,columntwo<br> 

singlevalueone 
singlevaluetwo 

singlevalueone_otherruleapplies 
singlevaluethree_otherruleapplies 

各テキストブロックはグループ化されるため、最初の3行は特定の規則などを使用して解析されます。最後の2つのグループには1つの列しかありませんが、各グループは異なる方法で処理する必要があります。

お客様にファイルの形式を提案する機会がありますので、私は次のことを提案すると考えています。

[group 1] 
userone,columnone,columntwo 
userthirteen,columnone,columntwo 
usertwenty,columnone,columntwo 

[group N] 
rowN 

何年か前からのINIファイルのようなセクションです。しかし、あなたのコメントを聞いてみたいのですが、これを処理するにはよりよい方法が必要だと思います。

私はXMLを使用することを提案しましたが、顧客はテキストファイルを好んでいます。

ご提案は大歓迎です。

m0dest0。

ps。 VB.netとVS 2008を使用する

答えて

1

正規表現グループは、各行が同じ形式である場合は列挙型モードに設定され、形式が1行に制限されていない場合は列挙型の複数行に設定できます。複数行の各行について、\ nをパターンに含めてパターンを見つけるために複数の行を渡すことができます。 1行に\ nを含める必要がない場合は、正規表現のマッチングパターンにキャリッジリターンラインフィードとしても知られています。

vb.netと同様に、多くの他の最新のプログラミング言語では、グループ化操作のための広範なサポートがあります。インデックスグループまたは名前付きグループを使用できます。

などHEADER1または何でもあなたはそれがこの形式でだろう名前を付けたいのようにそれぞれの名前:How do I access named capturing groups in a .NET Regex?<myname>
は、詳細はこのリンクを参照してください。

幸運。

関連する問題