Добавить пробел перед началом каждой строки и кроме самой первой строки? - PullRequest
1 голос
/ 30 марта 2019

Я хочу добавить пробел перед началом каждой строки и кроме первой строки строки.Я использую

ввод:

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 Ответ

2 голосов
/ 30 марта 2019

Проблема с 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));

nb Посмотрите также на this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...