Разделить строку по символу и добавить сам символ в массив

166
27 сентября 2019, 06:00

Мне нужно разделить строку по символу при этом занести всё это в массив в месте с разделителем имею код:

string[] words = message.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

но мне нужно чтобы в массиве были еще и \n

Answer 1

альтернативный способ - Regex, но он более сложный https://regex101.com/r/5ha92x/2

var pattern = "[^\\n]+\\n?";
var matches = Regex.Matches(message, pattern);
var words = matches.Cast<Match>().Select(m=>m.Value).ToArray();

этот вариант сохраняет все \n как есть, но более тяжелый по производительности

Answer 2

попробуй использовать это:
дает подобный результат но добавляет '\n' в конец каждой строки

string[] words = message
                  .Split('\n')
                  .Where(s=>!string.IsNullOrEmpty(s))
                  .Select(s => s + '\n')
                  .ToArray();
READ ALSO
SQL-запрос работает неверно

SQL-запрос работает неверно

В данном запросе должны подгружаться данные о маршрутах, id которых нет в другой таблицеВместо этого записи попросту дублируются

110
Определение номера COM-порта в int в C#

Определение номера COM-порта в int в C#

Только осваиваю C#Есть задача получить конкретно номер Com-порта в int, а не как обычно в string , например не "COM10", а 10

112
Почему метод не реагирует на запрос через ngrok?

Почему метод не реагирует на запрос через ngrok?

Есть web api проект наnet core 2, по стандартному шаблону VS:

126
Парсер файла TXT

Парсер файла TXT

имеется текстовый файлНахожу строку содержащую код, например UUDD

140