fork download
  1. using System;
  2. using System.Text.RegularExpressions;
  3.  
  4. public class Test
  5. {
  6. public static void Main()
  7. {
  8. string request= @"TST00009 DCA1S211E RH/07FEB F N LD 13FEB13 OD SANSAN SI
  9. T-E
  10. FXP/R,U
  11. 3.MACDORMAN/SAM CORBIN (CHD)
  12. 1 SAN BA 272 N 24JUN 825P OK NHXUQCNJ CH 24JUN24JUN 1PC
  13. 2 O LHR BA 273 N 07AUG 325P OK NHXUQCNJ CH 07AUG07AUG 1PC
  14. SAN
  15. FARE U USD 492.00
  16. TX001 X USD 458.00YQAC TX002 X USD 5.50YCAE TX003 X USD 17.20USAP
  17. TX004 X USD 17.20USAS TX005 X USD 5.00XACO TX006 X USD 7.00XYCR
  18. TX007 X USD 2.50AYSE TX008 X USD 105.61GBAD TX009 X USD 62.66UBAS
  19. TX010 X USD 4.50XF
  20. TOTAL USD 1177.17
  21. GRAND TOTAL USD 1177.17
  22. SAN BA LON M/BT NHXUQCNJ/CH BA SAN M/BT NHXUQCNJ/CH END
  23. ROE1.000000 XF SAN4.5
  24.  
  25. BT1195364*BA *FM0.00
  26.  
  27. 40.FE BA ONLY/NONREF/NONEND SEE GGAIRBAGUSA -BG:BA
  28. 45.FM *M*0.00A
  29. 46.FP CHECK";
  30. /*
  31.   string pattern = @"FXP/R,U\s+(?<name>.+?) \(CHD\).*FARE U USD\s+(?<fare>\d+\.\d{2}).*GRAND TOTAL USD\s+(?<total>\d+\.\d{2}).*45\.FM (?<commission>\S+).*46\.FP (?<FOP>\S+)";
  32.  
  33.   Match m = Regex.Match(request, pattern, RegexOptions.Singleline);
  34.  
  35.   Console.WriteLine("Name: {0}", m.Groups["name"]);
  36.   Console.WriteLine("Fare: {0}", m.Groups["fare"]);
  37.   Console.WriteLine("Total: {0}", m.Groups["total"]);
  38.   Console.WriteLine("Commission: {0}", m.Groups["commission"]);
  39.   Console.WriteLine("FOP: {0}", m.Groups["FOP"]);
  40.   */
  41.  
  42. Match m1 = Regex.Match(request, @"FXP/R,U\s+(.+?) \(CHD\)", RegexOptions.Singleline);
  43. string name = m1.Groups[1].Value;
  44.  
  45. Match m2 = Regex.Match(request, @"FARE U USD\s+(\d+\.\d{2})");
  46. string fare = m2.Groups[1].Value;
  47.  
  48. Match m3 = Regex.Match(request, @"GRAND TOTAL USD\s+(\d+\.\d{2})");
  49. string total = m3.Groups[1].Value;
  50.  
  51. Match m4 = Regex.Match(request, @"45\.FM (\S+)");
  52. string commission = m4.Groups[1].Value;
  53.  
  54. Match m5 = Regex.Match(request, @"46\.FP (\S+)");
  55. string fop = m5.Groups[1].Value;
  56.  
  57. Console.WriteLine("Name: {0}", name);
  58. Console.WriteLine("Fare: {0}", fare);
  59. Console.WriteLine("Total: {0}", total);
  60. Console.WriteLine("Commission: {0}", commission);
  61. Console.WriteLine("FOP: {0}", fop);
  62.  
  63. }
  64. }
Success #stdin #stdout 0.07s 34208KB
stdin
Standard input is empty
stdout
Name: 3.MACDORMAN/SAM CORBIN
Fare: 492.00
Total: 1177.17
Commission: *M*0.00A
FOP: CHECK