lsys-lib-area 0.1.0

行政区域数据,坐标对应城市数据
Documentation
const CLEAR_WORD: &[(&str, &str)] = &[
    ("-", "-"),
    ("社区居委会", "居委会"),
    ("居委会", "居委会"),
    ("片区街道", "片区街道"),
    ("街道办", ""),
    ("村委会", "委会"),
    ("村村", ""),
    ("民委员会", "民委员会"),
    ("省直辖县级行政区划", "级行政区划"),
    ("省直辖市级行政区划", "级行政区划"),
];
const BAD_WORD: &[&str] = &[
    "-",
    "开发区",
    "自治县",
    "自治州",
    "自治区",
    "特别行政区",
    "自治区",
    "直辖县级行政区划",
    "片区街道",
    "街道办",
];

pub(crate) fn key_word_clear(name: &str) -> &str {
    let name = name.trim();
    if name.chars().count() <= 2 {
        return name;
    }
    for tmp in BAD_WORD {
        if name.ends_with(tmp) {
            return name.trim_end_matches(tmp);
        }
    }
    for tmp in CLEAR_WORD {
        if name.ends_with(tmp.0) {
            return name.trim_end_matches(tmp.1);
        }
    }
    name
}

pub(crate) fn name_clear(name: &str) -> String {
    let mut tmp = name.trim();
    for tcc in CLEAR_WORD {
        if tmp.ends_with(tcc.0) {
            tmp = tmp.trim_end_matches(tcc.1);
        }
    }
    tmp.to_owned()
}