Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
        }