在每行的开头和字符串的第一行之外添加空格?

时间:2019-03-30 12:13:27

标签: c# asp.net string webforms

我想在每行的开头和字符串的第一行之外添加一个空格。我正在使用

输入:

abc
def
efg
hij

输出:

abc
 def
 efg
 hij

我的代码:

string text = "abc\ndef\nhij";

string result = string.Join(Environment.NewLine, text
                      .Split(new string[] { Environment.NewLine }, StringSplitOptions.None)
                      .Select(line => " " + line));

TextArea1_trim_id.InnerText = result;

1 个答案:

答案 0 :(得分:2)

如果出现问题,则是Environment.NewLine出现的问题

Console.WriteLine(Regex.Escape(Environment.NewLine))

您会注意到它是\r\n\r(Windows或Mac),但是您只希望\n。另外,您可以通过在Select期间添加空格来避免最后一个Join

string result = string.Join("\n ", text
    .Split(new string[] { "\n" }, StringSplitOptions.None));

n.b。另请参见this