Ответ 1
Вы можете сделать это -
System.Text.RegularExpressions.Regex.Replace(str,@"\s+"," ");
где str
- ваша строка.
Любые идеи?
Моя программа - это утилита проверки файлов, и я должен прочитать ее в файле формата, а затем проанализировать каждую строку одним пробелом. Но, очевидно, человек, который написал файл формата, может использовать вкладки, или 2 пробела, или любую форму пробела, и я ищу какой-то код для этого. Я пробовал это:
public static string RemoveWhitespace(this string line)
{
try
{
return new Regex(@"\s*").Replace(line, " ");
}
catch (Exception)
{
return line;
}
}
Я предполагаю, что это неправильно.
Помогите!
Вы можете сделать это -
System.Text.RegularExpressions.Regex.Replace(str,@"\s+"," ");
где str
- ваша строка.
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, " ");
Это дубликат этого вопроса
однако ответ таков (кредит Даоку)
Regex regex = new Regex(@"[ ]{2,}");
tempo = regex.Replace(tempo, @" ");