Re: [問題] 縣市合併升格地址替換問題

看板RegExp (正規表示式 Regular Expression)作者 (imcar)時間14年前 (2011/03/14 13:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《imce (蜥蜴)》之銘言: : 台北縣新店市OO路OO號 (一般會寫這樣) : 臺北縣瑞芳鎮XX路XX號 (臺不是台) : 台北縣 林口鄉UU路UU號 (多一個空格) : 台北縣五股工業區MM路MM號 (沒有鄉鎮市,不理會) : 有辦法一句話替換成[新北市某某區]某某路某某號 : 我是用perl的,我想讓$1="台北縣",$2="市" or "鎮" : 然後把$1置換新北市$2換成區 我用php寫,方法應該差不多 <?php mb_internal_encoding("UTF8"); mb_regex_encoding("UTF8"); function gsub($str){ return $str = mb_ereg_replace("台","臺", $str); } function is_match($str){ $pattern='^(.{3,5})?(臺北|臺中|臺南|高雄)縣'; return mb_ereg_match($pattern,$str)==1 ? "1" : "0" ; } function mb_fix_addr($str){ $pattern=array('^(.{3,5})?臺北縣','^(.{3,5})?(..)縣','^(.*市)?(.{2,5}?)[鎮| 鄉|市]','(.*)?村'); $replacement=array('\\1新北市','\\1\\2市','\\1\\2區','\\1里'); for ($i=0; $i<sizeof($pattern); $i++) { $str = mb_ereg_replace($pattern[$i], $replacement[$i], $str); } return $str; } ?> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.17.210.132
文章代碼(AID): #1DVQ4FTn (RegExp)
文章代碼(AID): #1DVQ4FTn (RegExp)