То, что вы пытаетесь сделать, - это использовать сложную логику, которая будет невозможна даже в таком сложном текстовом редакторе, как Notepad++. Кроме того, ваша проблема точно не определена (например, «12.3» - это число или нет?). Только вы знаете ваши точные требования.
В зависимости от того, насколько вы технические, вы можете адаптировать следующий код C #, чтобы сделать именно то, что вы хотите. Вам понадобится Visual Studio Express или аналогичный. Конечно, вы можете написать это на другом языке или попытаться найти альтернативное решение. Обратите внимание, что код удалит строки, начинающиеся с "Громкости", даже если следующий текст не является числом. Вам нужно иметь дело именно с тем, какую обработку вы хотите. Кроме того, код касается файлов конкретно по имени. Если вы хотите просмотреть все файлы в папке, скажем, это еще одна деталь, которую вы, возможно, должны рассмотреть:
// Read the file line by line
string szOriginal = @"C:\Tmp\Test.txt";
string szCopy = @"C:\Tmp\Test.txt.tmp";
StreamReader fText = new StreamReader(szOriginal);
StreamWriter fCopy = new StreamWriter(szCopy);
string szLine = string.Empty;
int nIndex = 0;
while ((szLine = fText.ReadLine()) != null)
{
// Don't copy lines starting with "Volume " (note space character)
nIndex = szLine.IndexOf("Volume ");
if (nIndex != 0)
fCopy.WriteLine(szLine);
}
fText.Close();
fCopy.Close();
// Delete original and rename copy
File.Delete(szOriginal);
File.Move(szCopy, szOriginal);
Создайте пустой проект Windows Forms, добавьте кнопку, дважды щелкните кнопку (чтобы просмотреть код в редакторе), вставьте приведенный выше код (с любыми изменениями, если необходимо), запустите код и нажмите кнопку. Удачи!