[問題] 處理重複字串的問題請教

作者: aoksc (重出江湖)   2015-12-27 22:57:59
請教各位
我在寫一個轉換縣市合併升格改地名的程式
例如桃園縣桃園市=>桃園市桃園區
市的部份我是先取前三個字判斷在Dictionary有無Key
有的話就用Replace對應Value換掉
區則是Dictionary的Key掃一遍判斷有哪個相符合
有符合的一樣Replace成在Dictionary的Value
(有執行上面才會執行這邊,帶表示有升格的縣市)
但像是桃園縣桃園市
第一次轉換成桃園市桃園市
執行下一個方法時Replace會變成桃園區桃園區
請問有什麼更好的方法可以不讓他Replace第一個桃園市
只Replace第二個出現的桃園市呢?
我目前只想到如果前三個字是桃園市
就另外寫個判斷處理
取前三個字加上後面剩下的部份Replace
在將兩個部份結合起來
不曉得是否有更聰明的方法
謝謝
作者: J002 (阿里山 我來了XD~)   2015-12-27 23:09:00
比對IndexOf 跟LastIndexOf的值是否相等?
作者: MickPlaYer (Mick)   2015-12-28 00:51:00
轉過的東西push出去如何?pop才對 大太快 : p
作者: Litfal (Litfal)   2015-12-28 04:56:00
把桃園縣刪掉,塞到一個代表桃園縣的集合內,全部找完再串或是解析成像這樣的結構:addrObj={"cityCode":1, "areaCode":3, addr="中正路1段"}string addrStr = addrObj.ToAddressString();函數裡面當然就利用那兩個code把地址串回來啦
作者: johnny007   2015-12-28 16:33:00
把流程改成這樣的話呢 找桃園縣->找桃園市->市改為區->縣改為市
作者: J002 (阿里山 我來了XD~)   2015-12-28 17:35:00
想說substring完再replace,但這樣似乎是Mick大的方法會更好
作者: evirtues   2015-12-29 03:09:00
把兩次的Dictionary Value加起來再加上SubString(兩個Dictionary Value的總長度)

Links booklink

Contact Us: admin [ a t ] ucptt.com