Короткий ответ (немного догадываясь):
text = text.Replace("\xFFFD", "?");
И узнайте о кодировках Unicode и , особенно utf-8.
Длинный ответ:
Ну, вы имеете в виду буквально "\ xEF \ xBF \ xBD"? То есть строка, состоящая из следующих символов:
backslash, uppercase latin character E, uppercase latin character F, backslash, uppercase latin character B, uppercase latin character F, backslash, uppercase latin character B, uppercase latin character D
Тогда ответ будет:
text = text.Replace(@"\xEF\xBF\xBD", "?");
Или есть последовательности символов, которые описываются escape-последовательностью C # "\ xEF \ xBF \ xBD", а именно:
LATIN SMALL LETTER I WITH DIAERESIS, INVERTED QUESTION MARK, VULGAR FRACTION ONE HALF
(который будет отображаться как "�)? Тогда ваш код будет правильным:
text = text.Replace("\xEF\xBF\xBD", "?");
Или вы хотите заменить байт последовательность
EF BF BD
(что на самом деле может быть представлением utf-8 символа замены Unicode, FFFD, который часто отображается как " ")?
Это просто дикое предположение, но интуиция говорит, что вы действительно хотите достичь последнего. Теперь строка .Net содержит символы, а не байты, но при условии, что вы прочитали эти байты, например, из файла как utf-8 ответ будет:
text = text.Replace("\xFFFD", "?");