Очевидная попытка:
Regex.Replace(input, @".$", "X", RegexOptions.Singleline);
Это не всегда работает, хотя. Рассмотрим строку \r\n\r\n
- приведенное выше дает удивительный результат \r\nXX
. При чтении MSDN (ниже Multiline ) можно ожидать, что $
должно совпадать только в конце всей строки, но, очевидно, $
фактически означает "совпадение в конце строки" или в \n
непосредственно перед концом строки ".
Каким может быть правильный способ сопоставления последнего символа произвольной строки?