前提
初心者です。
csvファイルから英単語、日本語、発音記号を読み込んで、以下のようにコンソール画面に出力したいです。
fabricate
(…を)組み立てて製造する
[fˈæbrɪkèɪt]
revoke
取り消す、廃止する
[rɪvóʊk, rɪvˈəʊk]
violate
犯す、破る
[vάɪəlèɪt, ˈvaɪʌleɪt]
csvファイルは以下のようになっています。
csv
fabricate,(…を)組み立てて製造する,[fˈæbrɪkèɪt] revoke,取り消す、廃止する,[rɪvóʊk, rɪvˈəʊk] violate,犯す、破る,[vάɪəlèɪt, ˈvaɪʌleɪt]
試したC#コード
C#
using System;using System.Collections.Generic;using System.IO;using System.Linq; internal class Program { static void Main(string[] args) { StreamReader sr = new StreamReader(@"読み込むcsvファイルのパス"); var lis1 = new List<string>(); while (!sr.EndOfStream) { string line = sr.ReadLine(); lis1.Add(line); } string split = String.Join(",", lis1); Console.WriteLine(split); var lis2 = new List<string>(); lis2 = split.Split(',').ToList(); for (int i = 0; i < lis2.Count; i += 3) { Console.WriteLine(lis2[i]); //英語 Console.WriteLine(lis2[i+1]); //日本語 Console.WriteLine(lis2[i+2]); //発音記号 } }}
発生している問題
以下、出力結果。
fabricate
(…を)組み立てて製造する
[f?abr?ke?t]
revoke
取り消す、廃止する
"[r?vo?k
r?v???k]"
violate
犯す、破る
"[v???le?t
?va??le?t]"
・発音記号に含まれる" , "によって英語、日本語、発音記号がうまく分離できない。
・発音記号が文字化けしている。
知りたいこと
・プログラム中の" lis2 "のリストを作ったうえで、前提に書いたように出力したいです。
・文字化けの対処法が知りたいです。
よろしくお願いいたします。
補足情報
visual studio 2022

0 コメント