Questo sostituirà qualsiasi sequenza di carriage-return (\r
) e/o linefeeds (\n
) con un singolo <br />
:
string formatted = Regex.Replace(original, @"[\r\n]+", "<br />");
Se si desidera solo sostituire sequenze di due o più elementi, la risposta semplicistica consiste nell'utilizzare il quantificatore {2,}
anziché "(che significa" almeno una ripetizione "):
string formatted = Regex.Replace(original, @"[\r\n]{2,}", "<br />");
noti che l'espressione sopra tratterà la combinazione comune LF CR + come una sequenza di due elementi. E 'probabile che si vorrà per il trattamento di CR + LF come un unico elemento, invece, nel qual caso l'espressione diventa un po' più complicato:
string formatted = Regex.Replace(original, @"(?:\r\n|\r(?!\n)|(?<!\r)\n){2,}", "<br />");
non sottovalutare te stesso. Se sai anche che cos'è una regex, probabilmente conosci già la risposta a questa domanda. –