2017-01-01 6 views
0

私は質問と回答のクイズを含むテキストファイルを持っています。どのように文字列をテキストファイルのテキストをテキストボックスに分割し、ラジオボタンのテキストを変更しますか?

m1 | mcq | Which of the following is an animal | table#cat#keyboard#water 

m2 | mcq | which of the following is a programming language |C++#water#Air#Phone 

m3 | mcq | which is the prime number | 3#4#8#10 

私は動物

で次のうちどれ、例えば、テキストボックスにテキストファイルのテキストや文字列を分割しようとしているこれは私のコードです:

try 
{ 
    ReadQuestionTextBox.Text = File.ReadAllText("C:\\Users\\ip700\\Documents\\Visual Studio 2015\\Projects\\FYP Project\\FYP Project\\bin\\Debug\\RichTextBox.txt"); 
} 
catch 
{ 
    ReadQuestionTextBox.Text = "Could not read file"; 
} 

文字列分割のより複雑な部分を使ってテキストファイル内のテキストの位置を特定できるところでさらに進めようとしています

アル?テキストボックスに入力し、私の答えの選択肢を4ラジオボタンtable#cat#keyboard#waterに分割します。

私はまだC#WPF

に新たなんだと文字列の分割について進め方について混乱しました、私はリストボックスにテキストファイル内のテキストの行を分割する方法を知っています。

+0

ようこそ。あなたの質問は今ではあなたが正確に何を求めているのかを理解することは難しいです。私はあなたの質問を読んでいるので、そのテキストファイルに書式のパーサーを書くように頼んでいるようです。それはSOのためではありません。だから、あなたの質問を編集して、あなたが求めているものにもっと具体的になりますか? –

+0

申し訳ありません。このタイトルは大丈夫ですか? – NaviHam

+0

どのように文字列をテキストファイル内のテキストをテキストボックスに分割し、ラジオボタンのテキストを変更しますか? – NaviHam

答えて

0

ファイルの内容をテキストボックスではなく変数に読み込みたい場合があります。

string[] lines = File.ReadAllLines("filename"); 

ファイルの各行が新しい質問である場合、文字列配列の各要素は解析する質問を保持します。

各質問を解析するには、配列をループして文字列分割をもう一度使用します。オプションで質問を1つセットアップする方法は次のとおりです。

string[] line = lines[0].Split("|", split options); 
string question = line[2].Trim(); 
string[] options = line[3].Split("#", split options); 

文字列の分割オプションは、配列から空のエントリを削除しStringSplitOptions.RemoveEmptyEntriesたり、それらを保存しStringSplitOptions.Noneことができます。

オプションをループして、オプションごとに新しいラジオボタンを作成してフォームに追加することができます。

テキストファイルに質問の回答が含まれているように見えないため、質問を追加することができます。

+0

ファイル名のパスを指定する必要はありますか? – NaviHam

+0

うん。これは、使用していたメソッド(ReadAllText)と同じ方法で動作しますが、ファイル内のファイルの各行に文字列の配列を1つの文字列として読み込む代わりに、配列の新しい要素を読み込みます。 –

+0

分割オプションとはどういう意味ですか?前にstringsplitoptionを使用したことがありません – NaviHam

関連する問題