Esto reemplazará cualquier secuencia de devoluciones de carro (\r
) y/o avances de línea (\n
) con un solo <br />
:
string formatted = Regex.Replace(original, @"[\r\n]+", "<br />");
Si solo quiere reemplazar secuencias de dos o más elementos, la respuesta simplista es usar el cuantificador {2,}
(que significa "al menos dos repeticiones") en lugar de +
(lo que significa "al menos una repetición"):
string formatted = Regex.Replace(original, @"[\r\n]{2,}", "<br />");
Tenga en cuenta que la expresión anterior tratará la combinación común de CR + LF como una secuencia de dos elementos. Es probable que usted querrá tratar CR + LF como un único elemento en su lugar, en cuyo caso la expresión se convierte en un poco más complicado:
string formatted = Regex.Replace(original, @"(?:\r\n|\r(?!\n)|(?<!\r)\n){2,}", "<br />");
No te subestimes. Si aún sabe qué es una expresión regular, probablemente ya sepa la respuesta a esta pregunta. –