从字符串中删除最后一行

liz*_*art 4 c# string winforms

我有一个字符串,看起来像这样:

line1
line2
line3
line4
Run Code Online (Sandbox Code Playgroud)

我想删除最后一行(第4行).我该怎么做?

我试过这样的事情,但它要求我知道最后一行包含多少个字符:

output = output.Remove(output.Length - 1, 1)
Run Code Online (Sandbox Code Playgroud)

p.s*_*w.g 12

另外一个选项:

str = str.Remove(str.LastIndexOf(Environment.NewLine));
Run Code Online (Sandbox Code Playgroud)

当最后一行为空或仅包含空格时,您需要继续删除行,直到删除非空白行,您只需在调用之前先修剪字符串的结尾LastIndexOf:

str = str.Remove(str.TrimEnd().LastIndexOf(Environment.NewLine));
Run Code Online (Sandbox Code Playgroud)