标题:关于DBF中地址补全省市全名址的问题
只看楼主
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册: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
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册: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
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 

坚守VFP最后的阵地
2017-12-30 19:16
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册: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: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
@sdta,高!
2017-12-31 14:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483813-1-1.html




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

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