Как удалить ВСЕ разрывы строк в строке?

Мне нужно избавиться от всех разрывов строк, которые появляются в моих строках (исходящих из db). Я делаю это с помощью кода ниже:

value.Replace("\r\n", "").Replace("\n", "").Replace("\r", "")

Я вижу, что есть по крайней мере один символ, действующий как конец строки, который пережил это. Код символа - 8232 .

Это очень отстойно с моей стороны, но я должен сказать, что впервые вижу этот символ. Очевидно, что я могу просто заменить этот символ напрямую, но я думал о расширении моего текущего подхода (на основе замены комбинаций «\ r» и «\ n») на что-то более надежное, чтобы он не только включал ' 8232 'char, но также и все остальные, которые я еще не нашел.

Есть ли у вас пуленепробиваемый подход к такой проблеме?

РЕДАКТИРОВАТЬ №1:

Мне кажется, что есть несколько возможные решения:

  1. используйте Regex.Replace
  2. удалите все символы, если это IsSeparator или IsControl
  3. , замените на "", если это IsWhiteSpace
  4. , создайте список всех возможных окончаний строк ("\ r \ n", "\ r", "\ n", LF, VT, FF, CR, CR + LF, NEL, LS, PS) и просто замените их пустой строкой. Замен много.

Я бы сказал, что лучшие результаты будут после применения 1-го и 4-го подходов, но я не могу решить, какой из них будет быстрее. Как вы думаете, какой из них наиболее полный?

РЕДАКТИРОВАТЬ # 2

Я отправил ответ ниже.

43
задан IamDeveloper 20 July 2011 в 17:04
поделиться