using System.Text.RegularExpressions;
public static void Main()
string unquotedPipeDelimited = """
CONTACT_SOURCE_ID|LAST_UPDATED|LAST_UPDATED_BY|T92|D10|T94|T95|T96|T97|T98|T99|T100|T101|T124|T125|T126
72|05/01/2006 14:48:38|13|||Mr|S|BLOGGS|1 Random Building
Random Street|Random Town||Random County|RN1 2DM|||
74|05/01/2006 15:48:38|31|||Dr|Delta|Who|The
Tardis|SpaceAndTime||Universe|D1 0WW|||
string replace1 = "\"\"";
string doubledQuotes = Regex.Replace(unquotedPipeDelimited, search1, replace1);
+ string.Join("\\|", Enumerable.Range(1, fieldCount).Select(i => "([^|]*)"))
string.Join(",", Enumerable.Range(1, fieldCount).Select(i => $"\"${i}\""));
RegexOptions options2 = RegexOptions.Multiline;
string csv = Regex.Replace(doubledQuotes, search2, replace2, options2);