С С# я пытаюсь использовать регулярные выражения для замены новой строки (\n) в текстовом файле точкой с запятой (;), но только если в этой строке есть какой-либо контент;
Если текстовый файл:
This is the program
Hello World
Тогда мое возвращение было бы
This is the program;
Hello World;
Я пытаюсь использовать
my_str = Regex.Replace(val, "\n", ";");
Но это влияет и на линии без контента.
Попробуйте захватить символы 1+, а затем новую строку?
(.+)[\r\n]?
\1;\n
С#:
my_str = Regex.Replace(val, "(.+)[\r\n]?", "$1;\n");
Я думаю, что что-то вроде этого будет работать.
my_str = Regex.Replace(val, "(?<prev>.+)\\n", "${prev};\\n");
$1
не\1
?