2011-02-09 4 views
1

나는 FTP를 통해 .txt 파일을 다운로드하는 응용 프로그램을 가지고 있으며, 그 다음 파일 데이터를 내 데이터베이스에 삽입하기 위해 일부 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

자유를 가져 와서 'regex'태그를 추가했습니다. – 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

관련 문제