Удалить пробелы в строке - PullRequest
       3

Удалить пробелы в строке

6 голосов
/ 19 апреля 2011

Эй, ребята, у меня есть такие строки

"This_ ___ is_a_ _string."

, и я хочу превратить все несколько пробелов в один. Есть ли в C # функции, которые могут это сделать?

Спасибо

Ответы [ 4 ]

11 голосов
/ 19 апреля 2011
var s = "This   is    a     string    with multiple    white   space";

Regex.Replace(s, @"\s+", " "); // "This is a string with multiple white space"
5 голосов
/ 19 апреля 2011
Regex r = new Regex(@"\s+");
string stripped = r.Replace("Too  many    spaces", " ");
3 голосов
/ 19 апреля 2011

Вот хороший способ без регулярных выражений. С Linq.

var astring = "This           is      a       string  with     to     many   spaces.";
astring = string.Join(" ", astring.Split(' ').Where(m => m != string.Empty));

вывод "This is a string with to many spaces"

2 голосов
/ 19 апреля 2011

Примеры регулярных выражений на этой странице, вероятно, хороши, но вот решение без регулярных выражений:

string myString = "This   is a  string.";
string myNewString = "";
char previousChar = ' ';
foreach(char c in myString)
{
  if (!(previousChar == ' ' && c == ' '))
    myNewString += c;
  previousChar = c;
}
...