はじめまして、C#を始めたばかりで勉強中のものです。
現在、C#で以下に示したようなテキストファイルの中の特定の数値を配列に入れたいのですがどうすればよいのかわかりません。
test.txt
XX月YY日 start ターゲットナンバー No.1 : x = 0.1 : y = 0.4 : z = 22 No.2 : x = 0.3 : y = 0.4 : z = 21 No.3 : x = 0.6 : y = 0.4 : z = 16 No.4 : x = 0.11 : y = 0.5 : z = 14 No.5 : x = 0.12 : y = 0.4 : z = 10 No.6 : x = 0.14 : y = 0.4 : z = 2 end
具体的には、x= y= z= で書かれている数値をそれぞれ別の配列に入れたいです。
また、ファイルの行数が決まっていないため読み込む際は数値の数が多くても対応できるプログラムにしたいです。
自分が考えたのは、読み込みたい数値の前に「ターゲットナンバー」や「No.1」「x=」などの決まった言葉があるのでそういった文字列を検索し、読み込めたらできるのかなと思っていますがそのやり方もわかっていません。
補足情報
このテキストファイルは他のソフトから出力されるもので、読み込む数値の数が変わります。
テキストファイル側の編集はしない方向で考えたいです。
ちなみに自分はVisualstudioで動かしています。
追記
皆さま回答ありがとうございます。遅くなってしまい申し訳ございません。
回答を参考に以下のような形で文字列による判定、文字列分割で行の数値を分けることができました。
string line; line = sr.ReadLine(); while (line != "ターゲットナンバー") { line = sr.ReadLine(); } line = sr.ReadLine(); string[] arr = line.Split(':','=',','); Console.WriteLine("{0}", string.Join(",", arr));
あとはループさせてすべての行を読み込むのと、必要な数値のみをそれぞれ別の配列にいれるのですが、おすすめのメソッドややり方などあれば教えていただけると助かります。
本日は一度中断するので明日進捗があれば更新致します。
回答3件
あなたの回答
tips
プレビュー