首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求正则切割字符串解决办法

2013-07-09 
求正则切割字符串象下面这样的字符串:买家Ldkaka(2013-07-03 11:23:41)(未付款) :韵达快递 卡包一个。分销

求正则切割字符串
象下面这样的字符串:

买家Ldkaka(2013-07-03 11:23:41)(未付款) :韵达快递 卡包一个。分销商ldby2000(2013-07-03 11:24:33)(未付款) :韵达快递卡包两个。分销商ldby2000(2013-07-03 11:25:57)(已付款,未发货) :韵达快递。

其中有买家留言,有分销商留言,每个留言都有时间和当前订单状态,分别是:
(2013-07-03 11:23:41)(未付款) :
(2013-07-03 11:24:33)(未付款) :
(2013-07-03 11:25:57)(已付款,未发货) :

现在想以类似上面这三个分割字符,规律是第一个括号中是时间,长度固定;第二个括号中是订单状态,长度不固定;最后面有一个全角冒号。

最终是想得到下面的分割结果:
韵达快递 卡包一个。
韵达快递卡包两个。
韵达快递。


[解决办法]


 string source = @"买家Ldkaka(2013-07-03 11:23:41)(未付款) :韵达快递 卡包一个。分销商ldby2000(2013-07-03 11:24:33)(未付款) :韵达快递卡包两个。分销商ldby2000(2013-07-03 11:25:57)(已付款,未发货) :韵达快递。
 
其中有买家留言,有分销商留言,每个留言都有时间和当前订单状态,分别是:
(2013-07-03 11:23:41)(未付款) :
(2013-07-03 11:24:33)(未付款) :
(2013-07-03 11:25:57)(已付款,未发货) :";
            foreach (Match m in Regex.Matches(source, @"(?<=\(\d{4}-\d{1,2}-\d{1,2}\s*\d{1,2}:\d{1,2}:\d{1,2}\)\s*\([^()]*?\)\s*[::]).*?(?=。)"))


            {
                Console.WriteLine(m.Value);
            }

热点排行