public static void Main()
String St = "010003336201902121456987652358172201311010396851";
int GTINFrom = St.IndexOf("21") + "21".Length;
int GTINTo = St.LastIndexOf("17");
int SFrom = St.IndexOf("01") + "01".Length;
int STo = St.LastIndexOf("17");
if (SFrom > 0 && STo > 0)
int SNF = St.IndexOf("21") + "21".Length;
int SNT = St.LastIndexOf("17");
String resultSN = St.Substring(SNF, SNT - SNF);
System.Console.WriteLine("Serial: " + resultSN);
String resultGT = St.Substring(SFrom, STo - SFrom);
System.Console.WriteLine("GTIN: " + resultGT);
int SNFrom = St.LastIndexOf("17") + "17".Length;
int SNTo = St.LastIndexOf("10");
if (SNTo > 0 && SNFrom > 0)
String result = St.Substring(SNFrom, SNTo - SNFrom);
int EFrom = St.IndexOf("01") + "01".Length;
int EFTo = St.IndexOf("10");
String ex = St.Substring(EFrom);
int LTFrom = ex.LastIndexOf("17");
int LTTo = ex.LastIndexOf("10");
if (LTTo > 0 && LTFrom > 0)
String results = ex.Substring(LTFrom, LTTo - LTFrom);
int EDFrom = results.IndexOf("17") + "17".Length;
int EDTo = results.IndexOf("10");
string ED = results.Substring(EDFrom, EDTo - EDFrom);
System.Console.WriteLine("Expiry: " + ED);
int LOTFrom = results.IndexOf("17") + "17".Length;
int LOTTo = results.LastIndexOf("10");
String result_lot = results.Substring(LOTFrom, LOTTo - LOTFrom);
int From = St.IndexOf("17") + "17".Length;
int To = St.LastIndexOf("");
String result_batch = St.Substring(From, To - From);
int BatchFrom = ex.LastIndexOf("17") + "17".Length;
int BatchTo = ex.LastIndexOf("");
String batchstring = ex.Substring(BatchFrom);
int bF = batchstring.IndexOf("10") + "10".Length;
int bT = batchstring.LastIndexOf("11");
String bs = batchstring.Substring(bF);
int bFr = bs.LastIndexOf("11") + "11".Length;
int bTo = bs.IndexOf("");
String b = bs.Substring(bFr);
int bFr2 = ex.IndexOf("10") + "10".Length;
String b2 = ex.Substring(bFr2);
int bTo2 = b2.LastIndexOf("11");
int bF3 = ex.IndexOf("10") + "10".Length;
int bTo3 = ex.LastIndexOf("11");
String b3 = ex.Substring(bF3, bTo3 - bF3);
int bf4 = b3.LastIndexOf("10") + "10".Length;
int bt4 = b3.LastIndexOf("");
String b4 = b3.Substring(bf4);
Console.WriteLine("Batch: " + batchValue);