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

看板C_Sharp作者 (重出江湖)時間8年前 (2015/12/27 22:58), 8年前編輯推噓4(409)
留言13則, 5人參與, 最新討論串1/1
請教各位 我在寫一個轉換縣市合併升格改地名的程式 例如桃園縣桃園市=>桃園市桃園區 市的部份我是先取前三個字判斷在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

12/27 23:09, , 1F
比對IndexOf 跟LastIndexOf的值是否相等?
12/27 23:09, 1F
這樣是可以判斷有沒有兩個上的相同字 可是要Replace的話呢? ※ 編輯: aoksc (114.44.11.210), 12/27/2015 23:43:29

12/28 00:51, , 2F
轉過的東西push出去如何?
12/28 00:51, 2F

12/28 00:53, , 3F
pop才對 大太快 : p
12/28 00:53, 3F

12/28 04:56, , 4F
把桃園縣刪掉,塞到一個代表桃園縣的集合內,全部找完再串
12/28 04:56, 4F

12/28 04:59, , 5F
或是解析成像這樣的結構:
12/28 04:59, 5F

12/28 05:00, , 6F
addrObj={"cityCode":1, "areaCode":3, addr="中正路1段"}
12/28 05:00, 6F

12/28 05:01, , 7F
string addrStr = addrObj.ToAddressString();
12/28 05:01, 7F

12/28 05:02, , 8F
函數裡面當然就利用那兩個code把地址串回來啦
12/28 05:02, 8F

12/28 16:33, , 9F
把流程改成這樣的話呢 找桃園縣->找桃園市->市改為區->
12/28 16:33, 9F

12/28 16:33, , 10F
縣改為市
12/28 16:33, 10F

12/28 17:35, , 11F
想說substring完再replace,但這樣似乎是Mick大的方法會更好
12/28 17:35, 11F

12/29 03:09, , 12F
把兩次的Dictionary Value加起來再加上
12/29 03:09, 12F

12/29 03:10, , 13F
SubString(兩個Dictionary Value的總長度)
12/29 03:10, 13F
文章代碼(AID): #1MV_nxks (C_Sharp)