У меня странная проблема, и я не могу ее решить.
Мое имя файла примерно такое:
DER 1513016-3.020F.NCF.
Я хочу изменить его на:
DER 1513016-3.020H.NCF
Иногда имя файла также может быть таким:
DER 1513016-3.020F_NEW.NCF
, который изменится на:
DER 1513016-3.020H_NEW.NCF
Это мой код для этого:
OpenFileDialog fDialog = new OpenFileDialog();
fDialog.Title = "Open";
fDialog.Filter = "NCF files (*.ncf)|*.ncf|All files (*.*)|*.*";
fDialog.InitialDirectory = "C:\\Program Files";
if (fDialog.ShowDialog() == DialogResult.OK)
{
string newfilename;
string fileext = Path.GetExtension(fDialog.FileName);
newfilename = Regex.Replace(fDialog.FileName, "F.NCF", "H.NCF");
newfilename = Regex.Replace(fDialog.FileName, "F_NEW.NCF", "H_NEW.NCF");
}
Здесь вещи становятся странными. Как работает код сейчас, он НЕ изменит имя файла на DER 1513016-3.020H.NCF
Если я закомментирую эту строку кода:
//newfilename = Regex.Replace(fDialog.FileName, "F_NEW.NCF", "H_NEW.NCF");
это будет работать нормально, и файл теперь станет: DER 1513016-3.020H.NCF
Однако, если я раскомментирую эту строку кода, имя файла не изменится на DER 1513016-3.020H.NCF.
Оно останется DER 1513016-3.020F.NCF.
Почему эта строка кода заставляет подпрограмму не изменять имя файла?