如何将一系列名称分成不同的行

时间:2013-05-10 10:52:36

标签: c# regex gridview asp.net-4.0

我有一个名单的名单,如:

1.WROBEL/TERESA   2.WROBEL/MAREK

现在我想要的是像这样在网格中显示这些名称

  • 罗贝尔/ TERESA
  • 罗贝尔/ MAREK

依此类推,我不想要数字和。进入网格。

我怎么能这样做我使用asp.net4.0网络应用程序

例如我有一个这样的字符串:

T-                                                                              
FXP/R,U                                                                         
 1.WROBEL/TERESA   2.WROBEL/MAREK                                             
 1   ORD LH  433 K 28AUG 1015P OK KKNC2N   CN10   28AUG28AUG 1PC                
 2 X FRA LH 1378 K 29AUG  405P OK KKNC2N   CN10   29AUG29AUG 1PC                
 3 O GDN LO  359 W 15SEP  800A OK KKNC2N   CN10   15SEP15SEP 1PC                
 4 X FRA LH  432 K 15SEP  530P OK KKNC2N   CN10   15SEP15SEP 1PC                
 ORD                                                                        
 FARE  U USD     174.00                                                          
 TX001 X USD   541.00YQAC TX002 X USD     5.50YCAE TX003 X USD    17.20USAP      
 TX004 X USD    17.20USAS TX005 X USD     5.00XACO TX006 X USD     7.00XYCR      
 TX007 X USD     2.50AYSE TX008 X USD    51.08RAEB TX009 X USD    17.16DESE      
 TX010 X USD     0.22NDAD TX011 X USD    14.78XWAE TX012 X USD     4.50XF        
 TOTAL   USD     857.14                                                          
 GRAND TOTAL USD     857.14                                                      
 CHI LH X/FRA LH GDN86.85KKNC2N/CN10 LO X/FRA LH CHI86.85KKNC2N/                 
 CN10 NUC173.70END ROE1.000000 XF ORD4.5                                         

 55.FE REFTHRUAG/NONEND/NONRERTE/LH/UA/AC/OS/SN/LX ONLY -BG:LH                  

59.FM * M * 0
 60.FP检查
“;

现在我创建了一个函数,我使用我的编码部分:

public class Detail
{
    string output;
    DataTable dt = new DataTable();
    DataRow dr = null;
     public DataTable GetDetail(List<string> request, List<string> Request)
     {
            string item = data;
            dr = dt.NewRow();
            Regex regex1 = new Regex(@"(FXP\S{3,20})|(\r\s{3}.\S+(.+))", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            foreach (Match m in regex1.Matches(data))
            {
                output = m.ToString();
            }
               dr["Passenger Name"] = output;
             }
            return dt; 
           }
     }

在这个我得到的结果在同一行,如下面的截图 enter image description here

在第二行他们是两个名字我希望每个名字在不同的行中像这样

enter image description here

但不是数字和。

提前致谢

1 个答案:

答案 0 :(得分:1)

我不理解您的RegEx,但就我测试的情况而言,这是有效的:

Regex regex1 = new Regex(@"(?<=\d\.)([^\s]*)(?=\s)");

或使用:

Regex.Split(string, @"\s*\d\.\s*");