我需要缩进多行文本(与此单行文本的问题相反)。
假设这是我的输入文本:
First line
Second line
Last line
我需要的是这个结果:
First line
Second line
Last line
注意每行的缩进。到目前为止,我有以下内容:
var textToIndent = @"First line
Second line
Last line.";
var splittedText = textToIndent.Split(new string[] {Environment.NewLine}, StringSplitOptions.None);
var indentAmount = 4;
var indent = new string(' ', indentAmount);
var sb = new StringBuilder();
foreach (var line in splittedText) {
sb.Append(indent);
sb.AppendLine(line);
}
var result = sb.ToString();
有没有更安全/更简单的方法可以做到这一点?
我的担心在于分割方法,如果从Linux、Mac或Windows传输文本,可能会很棘手,并且新行可能无法在目标机器上正确拆分。
var result = indent + Regex.Replace(textToIndent, @"\r?\n", m => m.Groups[0] + indent);
- user2864740