Любые идеи?Попытка заменить все пробелы одним пространством
Моя программа - утилита проверки файлов, и я должен прочитать ее в формате, а затем проанализировать каждую строку на одном пробеле. Но, очевидно, человек, который написал файл формата, может использовать вкладки, или 2 пробела, или любую форму пробела, и я ищу какой-то код для этого. Я пробовал:
public static string RemoveWhitespace(this string line)
{
try
{
return new Regex(@"\s*").Replace(line, " ");
}
catch (Exception)
{
return line;
}
}
Я предполагаю, что это неправильно.
Помощь!
Если вы собираетесь делать это много раз, вы можете захотеть, чтобы сохранить конструкцию объект Regex заранее. Частный статический readonly будет делать. Затем вы избегаете создания двигателя регулярного выражения каждый раз, когда вы собираетесь заменить строку. – Skurmedel
@Skurmedel: Или просто используйте встроенный статический метод 'Regex.Replace'. – LukeH
@ LukeH: Я думаю, вы пропустили мою мысль. Есть причина, по которой вы можете предустановить объекты регулярных выражений, а не только для удобства повторного использования. См. Здесь http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx «Статические методы и методы экземпляра». Конечно, если он/она не использует 15 различных регулярных выражений в своем приложении, вероятно, нет проблем. Но я не знаю его/ее заявления. Вот почему я сказал «могу». – Skurmedel