||
一般我们编写配方时 ,喜欢写成这样
E25 EC:DMC:EMC=1:1:1, LiPF6: 10%, VC:2%, FEC:3%
但实际场景中,往往还需要传递一些与配方有关的信息,比如配方做成样品的数量(多少kg),配方创建日期,设计用途,或者是它的电导率,密度指标等。
在之前开发的基础上,我设计了一种格式,大概的样子如下:
E25[AnotherName] EC:DMC:EMC=1:1:1, LiPF6:10%, VC:2%, FEC:3% {purpose:A方测试; wt:5.0kg; jd:小试}
这里的扩展如下
对于别名之外的其它信息,统一放在尾部的花括号内,格式是:"字段名:值",字段与值之间是英文冒号,不同项之间用英文分号分隔。花括号及其内的信息,如果没有提供,前面的文本也是可以正常解析的。
花括号内,冒号和分号是特定的分隔符,不能用于字段名或值。字段名未限定,建议选择: alias(别名),wt(样品重量),md(密度),ddl(电导率),owner(配方所有人), jd(当前阶段),date(记录时间或 更新时间),hf(氢氟酸),color(色度),memo(备注),purpose(用途)等。
花括号内,最后不要加分号。如果名称的中括号内定义了别名,后面的花括号内Alias字段又定义了别名,两者冲突时以中括号内的为准。
本来最顺手的写法是背景信息使用JSON格式或XML格式来表达。但对这种简单的数据来讲,XML过于啰嗦,JSON又使用了太多的双引号,视觉上很不爽,而我们这里又不需要很强的复杂结构表达能力,因此我采用了类似JSON的格式,把双引号都去掉,将分隔符由逗号改为分号,这样看起来清爽一些 (如果需要也很容易转换成JSON)。文本的解析用正则表达式加上split函数来处理并不困难,但不足之处就是在名称和键值中不能使用分号和逗号(可以用句号、顿号等其它符号)。
附上我扩展了的解析工具,可以解析这样的格式(别名能用的字符集限定是英文字母、数字和短划线)。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-27 08:58
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社