2017-09-15 13 views
-2

私はVB.NETを使用して、2つのCSVファイルから質問と可能な回答を読み込んでユーザーに表示する簡単なクイズプログラムを作成しています。テキスト形式のCSVファイルにvbNewLineを追加する

質問CSVファイル:

Question ID, Question Text, Correct Answer 
1, "Which of these are green? A: Grass B: The Ocean C: A Strawberry D: A tree leaf", A 

ID

Question ID, Answer A, Answer B, Answer C, Answer D 
1, "A & D", "A & C, "D & B, "B & C" 

で質問に一致する四つの可能な答えと回答CSVファイルIテキストフィールドパーサーを使用して、私のCSVファイルを読み込み、各質問の「を保存します質問 '文字列としてのテキスト。したがって、質問ID 1の質問は"Which of these are green? A: Grass, B: The Ocean, C: A Strawberry, D: A tree leaf"となります。

次に、このテキストをラベルテキストプロパティを使用してGUIに表示します。私の問題は、文字列がすべて1行にあるので、次のように書式化されます。

「これらのうちどれが緑ですか?草の海のストロベリーは木の葉です。

同上、それはとしてフォーマットするように:緑のあるこれらの

?芝生

B:A

オーシャン

C:ストロベリー

D:ツリーの葉

今明らかにだけCSVファイル内の所望の点でvbNewLineを添加意志文字列の一部として "vbNewLine"をコードとして読み込むのではなく、単に追加してください。

私のCSVに何かを追加して、私の希望する書式を持つことができる他の解決策はありますか?

答えて

0

CSVファイルには、値が引用符で囲まれている場合は、フィールド値に改行やその他の特殊文字を含めることができます。 CSVファイルに改行を追加するだけで、TextFieldParserは期待通りにそれらを読み込みます。例えば。

1、 "?緑のあるこれらの

A:芝

B:オーシャン

C:ストロベリー

D:ツリーの葉"、

Using reader As New TextFieldParser(Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, 
               "Test.txt")) With {.Delimiters = {","}, 
                    .HasFieldsEnclosedInQuotes = True} 
    Dim fields = reader.ReadFields() 

    For Each field As String In fields 
     MessageBox.Show(field) 
    Next 
End Using 
+0

改行を追加するためにCSVファイルを変更する方法の例を教えてください。 「A:」「B:」「C:」「D:」の前にvbNewLineを追加しましたが、 として表示されます。 「どちらが緑ですか?vbNewLine A:グラスvbNewLine B:オーシャンvbNewLine C:イチゴvbNewLine D:木の葉 " – BIGJOHN

+1

目を開けてください。 – jmcilhinney

+0

おそらく少し少ないパッシブアグレッシブでもっと役立つだろう。 – BIGJOHN