Or am I better off using my existing method where I have a single purpose function that I feed it the text and the pattern?
you could declare a public enum e.g.
Public Enum DateFormats
shortdate = 1
MonthYear = 17
then make the parameter optional - you then have the choice- leave it blank to run through all, or enter MonthYear or 17 as you wish