阅读行,用分隔符分隔单词,在新行上写下每个单词,然后继续下一行

本文关键字:单词 然后 继续 一行 分隔符 分隔 新行 | 更新日期: 2023-09-27 18:32:31

有点

长标题,但我会在这里解释一下。

我有一个名为 sample.txt 的文本文件

样品.txt

"105"|2015-01-01 00:00:00|"500"|John Smith"|"Facebook"|"Ohio"|"(555) 555-5555"
"110"|2016-05-20 01:40:00|"550"|David K"|"Twitter"|"Missouri"|"(555) 555-5555"

我的目标是读取此文件,用分隔符分隔单词,并在新行上吐出每个字段。我已经设法做到了这一点,但我无法弄清楚如何让它移动到下一行。

目前它执行我希望它执行的操作,但仅适用于第一行。我以为line = sr.ReadLine()会进入下一组,但事实并非如此。

String line;
try
{
    StreamReader sr = new StreamReader("C:''Users''ME''Documents''sample.txt");
    line = sr.ReadLine();
    char delimiterChar = '|';
    while (line != null)
    {
        string[] words = line.Split(delimiterChar);
        foreach (string s in words)
        {
            Console.WriteLine(s);
            line = sr.ReadLine();
         }
     }
     sr.Close();
     Console.ReadLine();
}
catch (Exception e)
{
    Console.WriteLine("Exception: " + e.Message);
    Console.ReadKey();
}
finally
{
    Console.WriteLine("Executing Finally Block");
    Console.ReadKey();
}

阅读行,用分隔符分隔单词,在新行上写下每个单词,然后继续下一行

您需要

line = sr.ReadLine();移出以进行foreach循环。现在,它正在为第一行中的每个字符串读取一个新行,这会消耗其余的输入。

它应该紧跟在foreach循环之后,但仍在while循环内。

相关文章: