如何在文本文件中的特定行之后添加行?

时间:2019-07-07 15:40:02

标签: c#

我正试图打开一个看起来像这样的文本:

1 | 2 | 3
a | b | c
one | two

..类似于:

1 | 2 | 3
1
2
3
a | b | c
a
b
c
one | two
one
two

我正在编写WPF应用程序,并且尝试了下面的代码(不起作用)

string text = File.ReadAllText(openFileDialog.FileName, Encoding.GetEncoding(1252));
string[] textLines = text.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
int l = textLines.Length;
for (int i = l; i < 1; i--)
{
    string[] questions = textLines[i].Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
    int n = questions.Length;
    for (int y = 0; y < n; y++)
        textLines[i] = textLines[i] + "\n" + questions[y].Trim();
}
txtEditor.Text = string.Join("\n", textLines);

2 个答案:

答案 0 :(得分:3)

外部for循环中有两个问题:

  1. 您应该从itemsPB, err := ItemIds("", items[:].itemId) (这是最后一个元素)开始,而不是textLines.Length - 1
  2. 条件也不正确。您应该使用textLines.Length而不是i >= 0

这应该有效:

i < 1

答案 1 :(得分:1)

您可以解析这些行,然后解析以管道分隔的项目。

  • 请勿使用<button target="#deleteModal{{ tag.pk }}" ...>。请改用\n
  • 使用Environment.NewLine构建字符串,而不是连接字符串。

代码

StringBuilder