2011-10-18 17 views
1

私はメールアドレスのファイルを解析する必要があります...問題はsomelinesにはアドレスが含まれていますが、いくつかはありません....メールアドレスを含まないものも郵便番号を持っていません...私は郵便番号のチェックを管理するために使用することができる任意の文字列のパターンの一致ですか?VB文字列郵便番号の認識?

IF not string.isnullorEmpty(_Customer) then 
    If _Customer"" ZIP CODE STRING TEST "" THEN 
    {do what it should if its is true} 
    Else 
    {Do something else} 
    End If 
end if 
+0

あなたはカナダやその他の国際的なアドレスを処理しますか?その答えを劇的に変えることができます。 –

+0

唯一の米国の郵便番号なし – Skindeep2366

+0

すべての郵送先住所、州、郵便番号、およびその他の情報が1行でまとめて実行されているファイルで作業する必要があります...パーサーがその部分の処理を処理するように働いています既に...一部の行には会社名のみが含まれていますが、パーサに送信する前に郵便番号を確認する必要があります。 – Skindeep2366

答えて

4

のようなものは、あなたの郵便番号があることを確認したいか、複雑な依存、ここで我々は、米国とカナダの郵便番号を検証するために使用するメソッドです:

Public Shared Function ValidZip(ByVal cZip As String) As Boolean 
    'Check if zip code is either NNNNN-NNNN, NNNNN, ANA NAN 
    Dim rZip As New Regex("^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$", RegexOptions.IgnorePatternWhitespace) 
    If Not rZip.IsMatch(cZip) Then 
     Return False 
    End If 

    Return True 
End Function 
+0

私はちょうど同様の正規表現を投稿しようとしていました。 – Jeremy

+0

これは問題です....郵便番号が含まれているかどうかを確認する文字列は60文字です。これは郵便番号が特別に送信された場合のみ有効ですか?または、文字列を解析し、ジップが見つかった場合にのみtrueを返しますか? – Skindeep2366

+1

正規表現から先頭の^と末尾の$を削除してください。 –