C# 除了字符串的第一行之外,是否在每行的开头添加空白?
我想在每一行的开头加一个空格,除了字符串的第一行。我正在使用 输入:C# 除了字符串的第一行之外,是否在每行的开头添加空白?,c#,asp.net,string,webforms,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 }, StringSplitOpti
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;
问题在于
环境。换行符,如果您执行以下操作:
Console.WriteLine(Regex.Escape(Environment.NewLine))
您会注意到它是\r\n
或\r
(Windows或Mac),但您只需要\n
。此外,您还可以通过在连接过程中添加空格来避免最后一次选择
string result = string.Join("\n ", text
.Split(new string[] { "\n" }, StringSplitOptions.None));
n.b.另请查看。谢谢,除了字符串的第一行之外,它在每行的开头添加了空格,但此代码也在每两行之间添加了一个空行。我想要的是,它应该只在每行开始之前添加空格,而不应该在每行之后添加空行。我尝试删除“\n”Split(新字符串[]{”“},StringSplitOptions.None))
。但它不起作用。我已经解决了这个问题。我刚刚用StringSplitOptions替换了StringSplitOptions.None
。RemoveEmptyEntries
和Environment.NewLine
替换了。
现在它工作正常。