C#中文本处理
来源:百度知道 编辑:UC知道 时间:2024/06/18 06:10:07
切分后:
1 合肥 11:45 11:45 00:00 0
2 合肥西 12:05 12:13 00:20 19
3 安庆西 14:22 14:25 02:37 156
剩下都是和这个一样的
谢谢了 没思路了
能细说一下吗
怎么判断,我不会,见笑了
因为中间这部分(合肥 11:45 11:45 00:00)字数比较固定,如都是地名+3个时间段(XX:XX)因此文本可以用正则这样处理,写正则
\D*(\d{2}:\d{2}){3}
得出
合肥11:4511:4500:00
合肥西12:0512:1300:20
...
然后
其它的同理,再比配出后面的数字,前面的数字序号可以用循环添上去
Ps:你文本的结构造成了正则的难写,如果文本可以改为(即多加些空格用来分隔)
1 合肥 11:45 11:45 00:00 0 2 合肥西 12:05 12:13 00:20 19 3 安庆西 14:22 14:25 02:37 156 4 黄梅 16:28 16:32 04:43 274 5 九江 17:18 17:20 05:33 327 6 庐山 17:38 17:54 05:53 346 7 南昌 19:11 19:27 07:26 462 8 向塘 19:46 19:50 08:01 490 9 吉安 22:32 22:36 10:47 688 10 兴国 00:16 00:19 12:31 801 11 赣州 01:14 01:18 13:29 874 12 信丰 02:06 02:10 14:21 937 13 龙川 04:34 04:44 16:49 1115 14 河源 05:39 05:42 17:54 1190 15 惠州 06:36 06:39 18:51 1270 16 东莞东 07:19 07:19 19:34 1324
这样就简单多了,一句正则就匹配出来了
\d+\s\D*\s(\d{2}:\d{2}\s){3}\d*
你这个难度还可以,可以用汉字符判断拆分