public static void Main()
string data = "30849162 AUF3063100-2022031Doe Deanne 2610194031482100720081007200820000000000G43Z4206372 10 8 98282000000000911140000 00000000K6358Z8643K638 D126 Z099 320930090308009251519 132093 100720080071 0000000000000000000000000000000000000000000000000000000000000000000000002022031 000000000000000000000000000000000000000000000 00000000";
string[] pieces = data.ParseFormat(15,3,15,28,20,8,4,1,8,8,1,3,4);
pieces.ToList().ForEach(Console.WriteLine);
public static class StringExtension
public static string[] ParseFormat(this string str, params int[] obj)
string[] pieces = new string[obj.Length];
for (int i = 0; i < obj.Length; i++)
if (startIndex + obj[i] < str.Length)
pieces[i] = str.Substring(startIndex, obj[i]);
else if (startIndex + obj[i] >= str.Length && startIndex < str.Length)
pieces[i] = str.Substring(startIndex);
startIndex += str.Length + startIndex;