2011-02-09 7 views
1

私は.txtファイルをFTP経由でダウンロードし、ファイルデータをデータベースに挿入するためにsqlを呼び出すアプリケーションを持っています。私は挿入しようとする前に、ファイルが正しい形式であるかどうかを確認したい。テキストファイルの形式を確認していますか?

ファイルは、行のいくつかの数で構成する必要があり、次の形式を持つ各:

(4 letter code) (tab) (3 or 4 letter code) (tab) (date as dd-MMM-yy) (tab) (variable length text description) (tab) (1 letter code)

は、ファイル内のすべての行がこのパターンに従っているかどうかチェックし、あれば私に警告するための良い方法はありますそれはありませんか?

+0

私は自由をとり、「正規表現」タグを追加しました – sloth

答えて

4

regularexpressionsの典型的な使用例のようです。 正規表現パターンを作成し、ファイルの各行と照合します。

正規表現に精通していない場合は、おそらく上記のリンクに加えてthis linkも役に立ちます。

あなたが探しているパターンがpropablyこれです:

^\w{4}\t\w{3,4}\t\d{2}\-\D{3}\-\d{2}\t.*\t\w$ 

それはこれらのようなテキストと一致します(_想像タブです):

test_foo_12-FEB-11_this is a text_X 
test_fbar_01-jan-15_bla bka bla_o 

ではなく:

test123_foo_12-FEB-11_this is a text 

次のようなことが可能です:

Dim pattern = "^\w{4}\t\w{3,4}\t\d{2}\-\D{3}\-\d{2}\t.*\t\w$" 
For Each line In text 
    Console.WriteLine(String.Format("{0} {1}", _ 
         line, _ 
         If(Regex.IsMatch(line, pattern), "is valid", "is invalid")) 
Next 
+0

あなたはさらに進み、日付部分が実際に有効な日付であることを確認できます。 – MarkJ

+0

その練習は質問者に委ねられます:-) – sloth

+0

ありがとう、それは魅力的です。正規表現でできることを日付の有効性をチェックしていますか? – OMill

関連する問題