Imports Microsoft.VisualBasic.FileIO
Public Class Form1
'-------------------------------------------------
'jobs.txtの内容
'-------------------------------------------------
'1,"Jobs-1,Jobs-11",15,80
'2,"Jobs-2",33,65
'3,"Jobs-3,Jobs-31,Jobs-32",23,77
'4,"Jobs-4",36,91
'5,"Jobs-5",55,67
'--------------------------------------------------------------------------------
'CSVファイルの読み込み
'--------------------------------------------------------------------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
Using parser As New TextFieldParser("C:\TEST\jobs.txt", _
System.Text.Encoding.GetEncoding("SHIFT_JIS"))
''フィールドタイプを設定
parser.TextFieldType = FieldType.Delimited
''テキスト区切り文字を有効にするか
''("で囲まれたテキストの中の区切り文字を有効にするか)
parser.HasFieldsEnclosedInQuotes = True
''区切り文字を設定
parser.SetDelimiters(",")
While Not parser.EndOfData
Trace.Write(parser.LineNumber & ">>>")
Dim fields As String() = parser.ReadFields()
For Each field As String In fields
Trace.Write(field & "|")
Next
Trace.WriteLine("")
End While
End Using
End Sub
'-------------------------------------------------
'実行結果(perser.HasFieldsEnclosedInQuotes = True)
'-------------------------------------------------
'1>>>1|Jobs-1,Jobs-11|15|80|
'2>>>2|Jobs-2|33|65|
'3>>>3|Jobs-3,Jobs-31,Jobs-32|23|77|
'4>>>4|Jobs-4|36|91|
'5>>>5|Jobs-5|55|67|
'-------------------------------------------------
'実行結果(perser.HasFieldsEnclosedInQuotes = False)
'-------------------------------------------------
'1>>>1|"Jobs-1|Jobs-11"|15|80|
'2>>>2|"Jobs-2"|33|65|
'3>>>3|"Jobs-3|Jobs-31|Jobs-32"|23|77|
'4>>>4|"Jobs-4"|36|91|
'5>>>5|"Jobs-5"|55|67|
End Class
|