Мне нужно избавиться от всех разрывов строк, которые появляются в моих строках (исходящих из db). Я делаю это, используя следующий код:
value.Replace("\r\n", "").Replace("\n", "").Replace("\r", "")
Я вижу, что там, по крайней мере, один персонаж, действующий как линия, заканчивающийся, выжил. Код char 8232.
Это очень хромает обо мне, но я должен сказать, что это первый раз, когда я с удовольствием вижу этот char. Очевидно, что я могу просто заменить этот char напрямую, но я думал о расширении моего текущего подхода (на основе замены комбинаций "\ r" и "\n" ) на нечто более твердое, поэтому оно включало бы не только '8232' char, но также и все другие, не найденные мной.
Есть ли у вас пуленепробиваемый подход для такой проблемы?
EDIT # 1:
Мне кажется, что существует несколько возможных решений:
- использовать Regex.Replace
- удалить все символы, если IsSeparator или IsControl
- заменить на "", если IsWhiteSpace
- создать список всех возможных окончаний строк ( "\ r\n", "\ r", "\n", LF, VT, FF, CR, CR + LF, NEL, LS, PS) и просто заменить их с пустой строкой. Это много заменяет.
Я бы сказал, что лучшие результаты будут достигнуты после применения 1-го и 4-го подходов, но я не могу решить, что будет быстрее. Какой из них вы считаете наиболее полным?
Edit # 2
Я разместил anwer ниже.