Удаление пробелов Tab?

Я столкнулся с довольно странной проблемой в С# вокруг удаления пробелов.

Мой текущий код выглядит следующим образом:

string s = "This is a string without        spaces";
s = s.Replace(" ", string.Empty);

В этом примере последние пробелы в конце, после "без" - это отступ (Tab), а не пробелы пробела. По-видимому, String.Replace не заботится об этом, поэтому он игнорирует его и оставляет там пробелы.

Можно ли избежать этой проблемы?

Ответ 1

Да. также удалите вкладки:

string s = "This is a string without        spaces";
s = s.Replace(" ", string.Empty);
s = s.Replace("\t", string.Empty);

Ответ 2

Регулярные выражения. "\ S" ниже означает все пробелы (например, табуляции и пробелы)

s = Regex.Replace(s, "\\s", "", RegexOptions.None);

Ответ 3

Вы имеете в виду, что вкладка остается на месте? Вам, вероятно, также нужно будет

s = s.Replace("\\t", string.Empty);

edit: мой плохой, я забыл о\s