| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3296 人关注过本帖, 1 人收藏
标题:关于DBF中地址补全省市全名址的问题
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
从上传的四条数据来看,还是有规律的。

坚守VFP最后的阵地
2017-12-30 11:41
lishuo9913
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2013-3-2
收藏
得分:0 
全国省市县列表完整版.zip (19.85 KB)

里面有测试数据和全国省市列表
不要求完全补全,例如:山大南路26号**** 列入地址不详中就可以
地址中有地市名称的,如:南京,南京市一类的,补全为:江苏省南京市********
2017-12-30 12:01
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:20 
程序代码:
close databases
create cursor dz (处理前 c(120),处理后 c(140))
append from 测试 fields 处理前

use 全国 in 0 alias qg
select qg
scan 
    sf=alltrim(省份)
    sj=alltrim(市级)
    select dz
    cstr=""
    scan
        do case
            case occurs(sj,处理前)=2
                n=atc(sj,处理前,2)
                cstr=sf+sj+substr(处理前,n+len(sj))
            case occurs(sj,处理前)=1
                n=atc(sj,处理前)
                cstr=sf+sj+substr(处理前,n+len(sj))
        endcase
        if sj$处理前
            replace 处理后 with cstr
        endif 
    endscan
endscan
select dz
browse


测试.rar (17.96 KB)


全国省市县数据做了部分修改,两个表的名称也做了修改

坚守VFP最后的阵地
2017-12-30 19:14
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2017-12-30 19:16
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
处理后内容为空,多数为省辖市名称不全造成的。运行时间稍长。

坚守VFP最后的阵地
2017-12-30 19:22
hyswcyh
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:391
专家分:896
注 册:2004-11-23
收藏
得分:0 
留个脚印。以后可能用得着。
2017-12-31 10:22
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1730
专家分:3324
注 册:2012-2-29
收藏
得分:0 
@sdta,高!
2017-12-31 14:56
快速回复:关于DBF中地址补全省市全名址的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020330 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved