[问题] 处理重复字串的问题请教

楼主: 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