怎么拆分地址字符串呀??

能吃 2015-09-10 09:52:29
我有一组数据,是不规则的地址信息,要转成有规则的字段,

比如数据源是如下:
xxxx街二段17-19号
xxx市xxx里33-52
xx路五段xxxxxx城31甲
xxxx市xxxx区xxx街二段24-109号
........

转换后每条记录都有字段为
市 路 街 段 里 号


这样我怎么拆分字符串呀,听人说用什么正则??
...全文
209 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
misaka去年夏天 2015-09-10
  • 打赏
  • 举报
回复
引用 6 楼 z80_robin 的回复:
5楼好强,正在学习中 <<< TXT xxxxxxxxxxxxxxxxxxxxx TXT; 是一种什么写吗?以前没见过
用heredoc赋值大量字符串 http://blog.csdn.net/misakaqunianxiatian/article/details/47975651
能吃 2015-09-10
  • 打赏
  • 举报
回复
5楼好强,正在学习中 <<< TXT xxxxxxxxxxxxxxxxxxxxx TXT; 是一种什么写吗?以前没见过
xuzuning 2015-09-10
  • 打赏
  • 举报
回复
$s =<<< TXT
xxxx街二段17-19号
xxx市xxx里33-52
xx路五段xxxxxx城31甲
xxxx市xxxx区xxx街二段24-109号
TXT;
preg_match_all('/(.+?)(市|路|街|段|里|号|$)/m', $s, $m);
print_r($m);

Array
(
    [0] => Array
        (
            [0] => xxxx街
            [1] => 二段
            [2] => 17-19号
            [3] => 
            [4] => xxx市
            [5] => xxx里
            [6] => 33-52
            [7] => xx路
            [8] => 五段
            [9] => xxxxxx城31甲
            [10] => xxxx市
            [11] => xxxx区xxx街
            [12] => 二段
            [13] => 24-109号
        )

    [1] => Array
        (
            [0] => xxxx
            [1] => 二
            [2] => 17-19
            [3] => 
            [4] => xxx
            [5] => xxx
            [6] => 33-52
            [7] => xx
            [8] => 五
            [9] => xxxxxx城31甲
            [10] => xxxx
            [11] => xxxx区xxx
            [12] => 二
            [13] => 24-109
        )

    [2] => Array
        (
            [0] => 街
            [1] => 段
            [2] => 号
            [3] => 
            [4] => 市
            [5] => 里
            [6] => 
            [7] => 路
            [8] => 段
            [9] => 
            [10] => 市
            [11] => 街
            [12] => 段
            [13] => 号
        )

)

misaka去年夏天 2015-09-10
  • 打赏
  • 举报
回复
先入门正则表达式看看http://deerchao.net/tutorials/regex/regex.htm
能吃 2015-09-10
  • 打赏
  • 举报
回复
谢谢2、3楼
  • 打赏
  • 举报
回复
那这个需要你自己写一个函数处理 正则规则很简单 (.*?)市(.*?)路(.*?)街(.*?)段(.*?)里(.*?)号 大致就这样 自己参考修改修改就可以用了
  • 打赏
  • 举报
回复
那这个需要你自己写一个函数处理 正则规则很简单 (.*?)市(.*?)路(.*?)街(.*?)段(.*?)里(.*?)号 大致就这样 自己参考修改修改就可以用了

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧