Another way is to remove non-digit characters. See:
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.InvariantCulture;
string[] files = {"uk_mcn_20190201_feed.xml",
"uk_20190202_mcn_feed.xml",
"20190203_uk_mcn_feed.xml",
"uk_mcn_feed_20190204.xml"};
var filesAndDates = files
.Select(x=> new
{
FileName = x,
Date = DateTime.ParseExact(Regex.Replace(x, @"\D", ""), "yyyyMMdd", ci)
})
.ToList();
foreach(var fad in filesAndDates)
{
Console.WriteLine("{0}\t{1}", fad.FileName, fad.Date);
}