Подтвердить что ты не робот

Попытка заменить все пробелы одним пространством

Любые идеи?

Моя программа - это утилита проверки файлов, и я должен прочитать ее в файле формата, а затем проанализировать каждую строку одним пробелом. Но, очевидно, человек, который написал файл формата, может использовать вкладки, или 2 пробела, или любую форму пробела, и я ищу какой-то код для этого. Я пробовал это:

        public static string RemoveWhitespace(this string line) 
        {
            try 
            { 
                return new Regex(@"\s*").Replace(line, " "); 
            } 
            catch (Exception) 
            { 
                return line; 
            }
        }

Я предполагаю, что это неправильно.
Помогите!

4b9b3361

Ответ 1

Вы можете сделать это -

System.Text.RegularExpressions.Regex.Replace(str,@"\s+"," ");

где str - ваша строка.

Ответ 2

input = input.Replace("\t", " ");

List<string> empties = new List<string>();
for (int i=input.Length - 1; i>1; i--)
{
    string spcs = "";
    for (int j=0; j<=i; j++)
        spcs += " ";
    if (input.Contains(spcs))
        empties.Add(spcs);
}

foreach (string s in empties)
    input = input.Replace(s, " ");

Ответ 3

Это дубликат этого вопроса

однако ответ таков (кредит Даоку)

Regex regex = new Regex(@"[ ]{2,}");     
tempo = regex.Replace(tempo, @" ");