Заменить 1 разрыв строки на 2 перевода строки в c # - PullRequest
4 голосов
/ 19 июля 2011

Как мне растянуть некоторый строковый элемент _text с

A
B
C

до

A

B

C

На самом деле, у меня есть какой-то текст, получаемый из БД

_text = this.NormalizeString(DinamicLibrary.LoadText(DinamicLibrary.Path[(int)_category] + _textdllName, this.TextNumber));

Что мне делать с этим запросом или с _text позже, чтобы получить то, что я хочу? Я понимаю, что я должен изменить \n на \n\n, но не знаю, как.

Ответы [ 7 ]

12 голосов
/ 19 июля 2011
var result = s.Replace(Environment.NewLine, Environment.NewLine + Environment.NewLine);
2 голосов
/ 19 июля 2011
string newString = oldString.Replace("\n", "\n\n");
1 голос
/ 19 июля 2011

Для совпадения с 3-м \r\n вы можете использовать регулярное выражение: (?s)(?<=(?:\r\n[^\r\n]*){2})\r\n, например ::

var s = @"A
B
C
D
E
F";
var result = Regex.Replace(s, @"(?s)(?<=(?:\r\n[^\r\n]*){2})\r\n", Environment.NewLine + 
    Environment.NewLine);

Выход:

A
B
C

D

E

F
1 голос
/ 19 июля 2011
string newString = oldString.Replace(Environment.NewLine, Environment.NewLine + Environment.NewLine);
0 голосов
/ 19 июля 2011

обычно разрыв строки представляет собой комбинацию \ r и \ n, что соответствует Environment.NewLine ("\ r \ n").Но один \ n также может выполнить разрыв строки.Оба хороши, просто используйте метод replace, чтобы добавить еще один перевод строки.

0 голосов
/ 19 июля 2011

Вы можете использовать Environment.NewLine и String.Replace ()

_text.Replace("\n", Environment.NewLine + Environment.NewLine);
0 голосов
/ 19 июля 2011

Вы можете дублировать переводы строк, используя _text.Replace("\n", "\n\n");. Вы на самом деле дали этот ответ, я просто знал название метода для вызова:)

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