Ваш вопрос немного нечеткий, поэтому я буду работать в предположении, что ваш ввод выглядит как введенный вами txt_input:
string txt_input="abc \n \n efg \n \n \n hij";
, и вы хотите вывод вида:
var ouput = "myPrefix_abc \n \n myPrefix_efg \n \n \n myPrefix_hij";"
Примерно так должно работать:
string prefix = "myPrefix_";
string txt_input="abc \n \n efg \n \n \n hij";
var split = txt_input.Split(new[] {"\n"}, StringSplitOptions.None);
var prefixedList = new List<string>();
foreach(var line in split){
if(string.IsNullOrWhiteSpace(line)) {
prefixedList.Add(line);
continue;
}
prefixedList.Add(prefix + line);
}
var output = string.Join("\n", prefixedList.ToArray());
Console.WriteLine(output);
Если вы действительно хотите, чтобы символы \n
заменили вторую последнюю строку на
var output = string.Join("\\n", prefixedList.ToArray());
(обратите внимание на второй «\» перед «\ n»)