美文网首页GIS相关gis
2019-08-21地址数据处理

2019-08-21地址数据处理

作者: 小G仔 | 来源:发表于2019-08-21 09:44 被阅读0次

    问题背景:

    有一堆地址数据,要从地址数据中抽取号、幢、栋之前的数字,并把数字对应的号、幢、栋标出来

    问题解决:

    初步思路:

    这里的问题其实就是把字符串里的数字提取出来,再找到数字后面对应的号幢栋,使用c#,步骤如下:
    1、利用正则提取数字,遍历得到数字列表
    2、根据数字列表数字的位置遍历字符串,将字符串分割为0-第一个数字,第一个数字之后的值-第2个数字,
    3、根据遍历得到的数字列表和字符串列表判断数字对应的是号幢栋,然后进行输出

    初步思路的问题:

    实际的数字表示有单纯的数字表示,也有类似1-2-2这一类的数字,显然,这类数字不能被分割,在碰到这个问题之后,首先想到的方法是遍历数字,看数字前后是否有‘-’,如果有,则进行连接,但实际处理逻辑十分复杂,遂放弃;后观察地址数据发现,'-'只会出现在数字中间,没有出现在中文字符之间,而数字与数字区分必然有中文,因此,想到把中文替换为特殊的符号‘&’,然后用此符号进行字符串的分割,由此得到改进思路

    改进思路

    1、利用正则替换字符串中文为‘&’
    2、利用‘&’分割字符串
    3、判断分割后的列表是否包含数字,如包含数字,则将此加入数字列表
    4、进行初步思路的第2、3步

    done!

    相关文章

      网友评论

        本文标题:2019-08-21地址数据处理

        本文链接:https://www.haomeiwen.com/subject/umnvsctx.html