2 个稳定版本
1.0.1 | 2023年11月14日 |
---|
#1844 在 解析实现
9KB
100 行
monument_parser
创建此解析器是为了更新和支持以单一格式存储乌克兰不可移动文化遗产的信息。
安装
在您的项目目录中运行以下 Cargo 命令:cargo add monument_parser
或添加以下行到您的 Cargo.toml: monument_parser = "1.0.0"
每个文化对象都有建筑类型、名称、位置、年代和用途类型。
建筑类型: 描述建筑本身的单字。
例如: "教堂", "房屋", "坟墓", "地下室", "堡垒", "综合体", "纪念碑",等等。
格式:此字段表示纪念碑的类型,应由字母字符(大写或小写)组成。
规则:仅使用 'A' 到 'Z'(大写)或 'a' 到 'z'(小写)的字母定义纪念碑的类型。
名称: 对象本身的名称。
例如: "圣保罗", "住宅", "扎利兹纳·沃达", "希罗卡·巴尔卡" 等。
格式:纪念碑的名称可以包括字母(大写或小写)、空格、句点和撇号。
规则:确保名称符合指定的字符集:'A' 到 'Z'(大写)、'a' 到 'z'(小写)、'.'、' ' 和 '''。
位置: 纪念碑所在的定居点。
例如: "基辅市", "切尔诺莫尔斯克村", "哈特内村" 等。
格式:位置字段指定定居点类型和名称。定居点类型包括城市、镇或村。
规则:使用代码 '1'、'2' 或 '3' 表示定居点类型,后跟定居点名称(字母、空格、句点和撇号)。
"1" 表示 "市[名称]"
"2" 表示 "镇[名称]"
"3" 表示 "村[名称]"
年代: 两个数字描述世纪(不得超过21),解析器将这些日期格式化为第一个世纪的第一年以及第二个世纪的最后一年。
例如: 纪念碑建于9世纪至11世纪之间。输入数据应包含数字 "9" 和 "11",解析器将输出 "801-1100"。
格式:年代指定时间段(例如,5世纪至7世纪),应表示为两个世纪值之间的范围。
规则:确保世纪在1至21的范围内。
用途类型: 文化纪念碑的类型。
在乌克兰,以下类型的纪念碑被区分:建筑、历史、城市规划、纪念碑艺术、考古、园林和公园艺术、景观、科学技术。
格式:目的类型用于区分纪念碑的功能或意义。可以指定多个目的,并用逗号分隔。
规则:使用代码'1'到'8'来表示不同的目的
"1": 建筑
"2": 历史
"3": 城市规划
"4": 纪念碑艺术
"5": 考古
"6": 园林和公园艺术
"7": 景观
"8": 科学技术
输入信息示例:"圣约翰教堂 1 基辅 9 11 1,2,5"。
运行方式:使用终端并输入:"cargo run -- -f test_file.txt"。
依赖项
~1.5MB
~26K SLoC