public ChineseAddress Parse(String str) { str = str.Replace(".", "").Replace(",", "").Replace(",", ""); MatchingString ms = new MatchingString(str); ms_headwordmatch.Process(ms); ChineseAddress ca = new ChineseAddress(); ca.source = str; ca.nation = ms.GetStringByWordmatch(ms_nationwordmatch); ca.province = ms.GetStringByWordmatch(ms_provincewordmatch); ca.city = ms.GetStringByWordmatch(ms_citywordmatch); ca.district = ms.GetStringByWordmatch(ms_districtwordmatch); ca.county = ms.GetStringByWordmatch(ms_countywordmatch); if (ms.GetStringByWordmatch(ms_streetwordmatch) != null) { ca.street = ms.GetStringByWordmatch(ms_streetwordmatch); } else { ca.street = ms.GetStringByWordmatch(ms_roadwordmatch); } ca.number = ms.GetStringByWordmatch(ms_numberwordmatch); ca.plaza = ms.GetStringByWordmatch(ms_plazawordmatch); ca.ip = ms.GetStringByWordmatch(ms_industrialparkwordmatch); ca.town = ms.GetStringByWordmatch(ms_townwordmatch); ca.village = ms.GetStringByWordmatch(ms_villagewordmatch); //ca.notes = ms.GetStringsByWordmatch(ms_notewordmatch); //ca.noises = ms.GetStringsByWordmatch(ms_noisecollector); return(ca); }
public static ChineseAddress Parse(string source) { source = source.Replace(".", "").Replace(",", "").Replace(",", ""); IList <Segment> segments = Recognize(source, Split(source, ms_defaultsplitters)); ChineseAddress ca = new ChineseAddress(); ca.source = source; ca.nation = SegmentsGetStringForRegex(segments, ms_regex_nation); ca.province = SegmentsGetStringForRegex(segments, ms_regex_province); ca.city = SegmentsGetStringForRegex(segments, ms_regex_city); ca.district = SegmentsGetStringForRegex(segments, ms_regex_district); ca.county = SegmentsGetStringForRegex(segments, ms_regex_county); ca.street = SegmentsGetStringForRegex(segments, ms_regex_street); IList <string> roads = SegmentsGetStringListForRegex(segments, ms_regex_road); foreach (string s in SegmentsGetStringListForRegex(segments, ms_regex_roadnear)) { roads.Add(s); } ca.roads = roads; ca.underground = SegmentsGetStringForRegex(segments, ms_regex_underground); ca.number = SegmentsGetStringForRegex(segments, ms_regex_number); ca.plaza = SegmentsGetStringForRegex(segments, ms_regex_plaza); ca.ip = SegmentsGetStringForRegex(segments, ms_regex_ip); ca.town = SegmentsGetStringForRegex(segments, ms_regex_town); ca.village = SegmentsGetStringForRegex(segments, ms_regex_village); return(ca); }
public virtual NameValueCollection ChineseAddressParse(string srcaddress) { NameValueCollection nv = new NameValueCollection(); ChineseAddress ca = ChineseAddressParser.Parse(srcaddress); nv.Add("all", ca.ToString()); nv.Add("nation", ca.nation); nv.Add("province", ca.province); nv.Add("city", ca.city); nv.Add("county", ca.county); nv.Add("district", ca.district); nv.Add("street", ca.street); nv.Add("number", ca.number); nv.Add("plaza", ca.plaza); nv.Add("industrialpark", ca.ip); nv.Add("town", ca.town); nv.Add("village", ca.village); if (ca.roads.Count > 0) { nv.Add("road", ca.roads[0]); } nv.Add("underground", ca.underground); return(nv); }
public static ChineseAddress Parse(string source) { source = source.Replace(".", "").Replace(",", "").Replace(",", ""); IList<Segment> segments = Recognize(source, Split(source, ms_defaultsplitters)); ChineseAddress ca = new ChineseAddress(); ca.source = source; ca.nation = SegmentsGetStringForRegex(segments, ms_regex_nation); ca.province = SegmentsGetStringForRegex(segments, ms_regex_province); ca.city = SegmentsGetStringForRegex(segments, ms_regex_city); ca.district = SegmentsGetStringForRegex(segments, ms_regex_district); ca.county = SegmentsGetStringForRegex(segments, ms_regex_county); ca.street = SegmentsGetStringForRegex(segments, ms_regex_street); IList<string> roads = SegmentsGetStringListForRegex(segments, ms_regex_road); foreach (string s in SegmentsGetStringListForRegex(segments, ms_regex_roadnear)) roads.Add(s); ca.roads = roads; ca.underground = SegmentsGetStringForRegex(segments, ms_regex_underground); ca.number = SegmentsGetStringForRegex(segments, ms_regex_number); ca.plaza = SegmentsGetStringForRegex(segments, ms_regex_plaza); ca.ip = SegmentsGetStringForRegex(segments, ms_regex_ip); ca.town = SegmentsGetStringForRegex(segments, ms_regex_town); ca.village = SegmentsGetStringForRegex(segments, ms_regex_village); return ca; }
public ChineseAddress Parse(String str) { str = str.Replace(".", "").Replace(",", "").Replace(",",""); MatchingString ms = new MatchingString(str); ms_headwordmatch.Process(ms); ChineseAddress ca = new ChineseAddress(); ca.source = str; ca.nation = ms.GetStringByWordmatch(ms_nationwordmatch); ca.province = ms.GetStringByWordmatch(ms_provincewordmatch); ca.city = ms.GetStringByWordmatch(ms_citywordmatch); ca.district = ms.GetStringByWordmatch(ms_districtwordmatch); ca.county = ms.GetStringByWordmatch(ms_countywordmatch); if (ms.GetStringByWordmatch(ms_streetwordmatch) != null) ca.street = ms.GetStringByWordmatch(ms_streetwordmatch); else ca.street = ms.GetStringByWordmatch(ms_roadwordmatch); ca.number = ms.GetStringByWordmatch(ms_numberwordmatch); ca.plaza = ms.GetStringByWordmatch(ms_plazawordmatch); ca.ip = ms.GetStringByWordmatch(ms_industrialparkwordmatch); ca.town = ms.GetStringByWordmatch(ms_townwordmatch); ca.village = ms.GetStringByWordmatch(ms_villagewordmatch); //ca.notes = ms.GetStringsByWordmatch(ms_notewordmatch); //ca.noises = ms.GetStringsByWordmatch(ms_noisecollector); return ca; }