投稿者 葉月  (社会人) 投稿日時 2009/4/14 10:26:09
私が思いついたやり方だと二つですね。
①StringクラスのIndexOfメソッドを使って、\、:、.が含まれているか確認する。
②正規表現で正確なパスを判断する。

一応サンプルを作りましたが、即興で作ったので不完全です(マテ
正規表現は遅いので、お勧めは①ですね。
細かく制御したい場合は、②の方が適していると考えてください。

>>>①のサンプル
   Dim strPath() As String = {"C:\fail\fair.text""asdfgh"}

   For i As Integer = 0 To strPath.Length - 1
       If strPath(i).IndexOf(":") > -1 And strPath(i).IndexOf("\") > -1 And strPath(i).IndexOf(".") > -1 Then
          Console.WriteLine("パスです。 " & strPath(i))
       Else
          Console.WriteLine("パスではありません。" & strPath(i))
       End If
   Next


>>>②のサンプル
   Dim strPath() As String = {"C:\fail\fair.text""asdfgh"}
   Dim regex As New System.Text.RegularExpressions.Regex("[a-zA-Z]:\.*")

   For i As Integer = 0 To strPath.Length - 1
       If (regex.IsMatch(strPath(i))) Then
           Console.WriteLine("パスです。 " & strPath(i))
       Else
           Console.WriteLine("パスではありません。" & strPath(i))
       End If
   Next