|
|
在其他论坛看到了一个按照手机号段整理收集号码数据库的求助帖,觉得这个题目很有挑战性,并且也很实用,特发出来让大家练练手。
提示:整理出来的数据共有5670行,生成的文件大小至少129K,占用空间132K。
以下是那位楼主的原帖,原始格式数据请下载附件。
有一个文本为139.txt,部分内容如下:
| 省份 | 城市 | 城市区号 | 1390 | 1391 | 1392 | | 上海 | 上海 | 21 | 160-162 | 600-899 | 空 | | 云南 | 临沧 | 883 | 883,921 | 空 | 700-701,703,830-839 | | 云南 | 丽江 | 888 | 888 | 空 | 704,880-889 | | 云南 | 保山 | 875 | 875 | 空 | 705,750-759 | | 云南 | 楚雄 | 878 | 878 | 空 | 707-708,780-789 | | 云南 | 版纳 | 691 | 881 | 空 | 810-819 | | 云南 | 玉溪 | 877 | 877,889 | 空 | 770-779,840-849 | | 云南 | 红河 | 873 | 873 | 空 | 730-739,800-809 | | 云南 | 迪庆 | 887 | 空 | 空 | 870-879 | | 内蒙古 | 临河 | 478 | 478 | 空 | 空 | | 内蒙古 | 乌兰浩特 | 482 | 空 | 空 | 空 | | 内蒙古 | 乌海 | 473 | 473 | 空 | 空 | | 内蒙古 | 包头 | 472 | 472 | 空 | 空 |
先解释一下,这个文本是139手机号段(前七位)的数据库,比如第一行的1390,指的是手机号的前四位,下面的160-199,指的是1390160~1390199之间的所有号段;再下面的883,921指的是两个号段,如1390883和1390921;空白的地方表示没有号段(已经替换为“空”),每个方格都以Tab键隔开。
需求:导出所有的号段,格式为"手机号段,省份,城市,城市区号"
例如:
1390160,上海,上海,21
1390161,上海,上海,21
1390162,上海,上海,21
1390883,云南,临沧,883
1390921,云南,临沧,883
。。。。。。。。。。
这只是139号段的一部分内容,并且还有很多其它号段的文本,但排列都是一样。自己考虑了很久,都不能实现,请问大家有没有什么好办法?
补充说明一下:仔细观察txt文件,可以发现,同一行上的数据组成情况是非常复杂的:有的是3位,有的是4位,有的是以短横线连接的连续数字,
有的数字还是以0打头的,处理的时候要特别小心。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|