看板 C_Sharp 關於我們 聯絡資訊
請教各位 我在寫一個轉換縣市合併升格改地名的程式 例如桃園縣桃園市=>桃園市桃園區 市的部份我是先取前三個字判斷在Dictionary有無Key 有的話就用Replace對應Value換掉 區則是Dictionary的Key掃一遍判斷有哪個相符合 有符合的一樣Replace成在Dictionary的Value (有執行上面才會執行這邊,帶表示有升格的縣市) 但像是桃園縣桃園市 第一次轉換成桃園市桃園市 執行下一個方法時Replace會變成桃園區桃園區 請問有什麼更好的方法可以不讓他Replace第一個桃園市 只Replace第二個出現的桃園市呢? 我目前只想到如果前三個字是桃園市 就另外寫個判斷處理 取前三個字加上後面剩下的部份Replace 在將兩個部份結合起來 不曉得是否有更聰明的方法 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.11.210 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1451228283.A.BB6.html
J002: 比對IndexOf 跟LastIndexOf的值是否相等? 12/27 23:09
這樣是可以判斷有沒有兩個上的相同字 可是要Replace的話呢? ※ 編輯: aoksc (114.44.11.210), 12/27/2015 23:43:29
MickPlaYer: 轉過的東西push出去如何? 12/28 00:51
MickPlaYer: pop才對 大太快 : p 12/28 00:53
Litfal: 把桃園縣刪掉,塞到一個代表桃園縣的集合內,全部找完再串 12/28 04:56
Litfal: 或是解析成像這樣的結構: 12/28 04:59
Litfal: addrObj={"cityCode":1, "areaCode":3, addr="中正路1段"} 12/28 05:00
Litfal: string addrStr = addrObj.ToAddressString(); 12/28 05:01
Litfal: 函數裡面當然就利用那兩個code把地址串回來啦 12/28 05:02
johnny007: 把流程改成這樣的話呢 找桃園縣->找桃園市->市改為區-> 12/28 16:33
johnny007: 縣改為市 12/28 16:33
J002: 想說substring完再replace,但這樣似乎是Mick大的方法會更好 12/28 17:35
evirtues: 把兩次的Dictionary Value加起來再加上 12/29 03:09
evirtues: SubString(兩個Dictionary Value的總長度) 12/29 03:10