Это заменит любую последовательность возвратов каретки (\r
) и / или перевода строки (\n
) одним <br />
:
string formatted = Regex.Replace(original, @"[\r\n]+", "<br />");
Если вы хотите заменить только последовательности из двух или более элементов, тогда упрощенным ответом будет использование квантификатора {2,}
(что означает «как минимум два повторения») вместо +
(что означает «хотя бы одно повторение»). «):
string formatted = Regex.Replace(original, @"[\r\n]{2,}", "<br />");
Обратите внимание, что приведенное выше выражение будет рассматривать общую комбинацию CR + LF как последовательность из двух элементов. Вероятно, вы захотите вместо этого рассматривать CR + LF как один элемент, и в этом случае выражение становится немного более сложным:
string formatted = Regex.Replace(original, @"(?:\r\n|\r(?!\n)|(?<!\r)\n){2,}", "<br />");