返回信息流我做过这样的一个需求,其中一部分的内容是
一个excel表单
1370H1H2H3 1360H1H2H3 1350H1H2H3
555 555 053
553 553,559 052,553,559
559
562 562
554 554 057,554
550 550 550,555
556 556 055-557,563,565-568
551,560,569 551,560,569 050,551,560-561,569
552 552,566 056,552,562
需求是这样子:
首先分析字段,如1370H1H2H3
则perNum=1370,然后有3个H,所以要补全3位数
所以
1.)第2行的输入555就要输出1370555
如果是1370H1H2H3H4则输出为13705550-13705559之间的所有数据
2)如果输入是555,554,则输出为1370555,1370554
3)如果输入是223-225,则输出为1370223--1370225之间的所有数字
4)如果输入是12-14,则因为有3个H,所以要补全,输出为1370120 -- 1370149之间的所有数字
5)如果输入是11-123,则因为有3个H,前面的数字要补全,输出为1370110-1370123之间的所有数字
6)如果区间的前面的数字大于后面的数字,如12-11,则该区间为空,输出为空。
ps:输入的内容只可能是以下格式:
1)空
2)551 即单数字
3)551,552 即散列数字
4)551-556 即数字区间
5)551,552-558,554 以上的组合
数字不一定为三位数,但一定小于或等于对应的列字段的H的个数
20楼帖出Lonhero的解答
22楼为我的实际应用的部分代码。
这是一条镜像帖。来源:北邮人论坛 / soft-design / #2504同步于 2005/12/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
[讨论]响应号召,出了字符串匹配的问题供讨论学习
atian
2005/12/19镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 Lonhero 的大作中提到: 】
: 1370H1H2H3 输入为11-123时,输出是什么?
。。。。
根据H的个数来补全。
第一个是11,自然就是1370110
第二个是123,那就是1370123
所以输出是这两个数字之间的所有数。
如果后面的数小于前面的数,那这个区间就是空,那输出就是空
首先,你要理解题意。
这里有3个H,所以,每一个输入的数字都要扩为3位。
所以111-12相当于111-129
【 在 Lonhero 的大作中提到: 】
: 又发现个: 1370H1H2H3 输入为111-12时,输出是什么?
: 输出就是空 ? 还是[1370111,1370129]?
【 在 atian 的大作中提到: 】
: 首先,你要理解题意。
: 这里有3个H,所以,每一个输入的数字都要扩为3位。
: 所以111-12相当于111-129
就是说前面的用0补,后面的用9补?
写好了.c#写的.运行要.net framework1.1
附件(5.3KB) StringMatch.rar
测试一下吧,我再修复一下bug.
【 在 atian 的大作中提到: 】
: 我做过这样的一个需求,其中一部分的内容是
: 一个excel表单
: 1370H1H2H3 1360H1H2H3 1350H1H2H3
: ...................