1 面临的问题
今天下午与另外一个部门对接,他们的一张表总共有42个字段,而且我们之间的交互使用的是webservice, 要求我必须把类似于下面的数据:
立项单编号 ZLXBH projectNum
转换成如下的java属性:
@ApiModelProperty("立项单编号")
@XmlItem(name = "ZLXBH", type = XmlElementType.ELEMENT)
private String projectNum;
2 我的解决方式
其实很简单,就是用了一下正则表达式,而Sublime里使用正则表达式感觉体验超爽,使用姿势如下 (Ctrl + H即可使用正则匹配+替换) :
替换后的结果:
然后放到idea里再一格式化
@ApiModelProperty("立项单编号")
@XmlItem(name = "ZLXBH", type = XmlElementType.ELEMENT)
private String projectNum;
@ApiModelProperty("合同编号")
@XmlItem(name = "CONNO", type = XmlElementType.ELEMENT)
private String contractNum;
@ApiModelProperty("OA表单号")
@XmlItem(name = "OAID", type = XmlElementType.ELEMENT)
private String oaCode;
@ApiModelProperty("文档类型")
@XmlItem(name = "ZWDLX", type = XmlElementType.ELEMENT)
private String documentType;
@ApiModelProperty("申请人代码")
@XmlItem(name = "ZSQDM", type = XmlElementType.ELEMENT)
private String userCode;
@ApiModelProperty("申请人域账号")
@XmlItem(name = "ZSQZH", type = XmlElementType.ELEMENT)
private String adAccount;
@ApiModelProperty("申请日期")
@XmlItem(name = "ZSQRQ", type = XmlElementType.ELEMENT)
private String applicationTime;
@ApiModelProperty("配送范围")
@XmlItem(name = "ZPSFW", type = XmlElementType.ELEMENT)
private String deliveryScope;
@ApiModelProperty("合同类型")
@XmlItem(name = "DOCTY", type = XmlElementType.ELEMENT)
private String contractTypeCode;
@ApiModelProperty("合同所属年份")
@XmlItem(name = "ZMJAHR", type = XmlElementType.ELEMENT)
private String contractYear;
@ApiModelProperty("合同期限(年)")
@XmlItem(name = "ZHTQX", type = XmlElementType.ELEMENT)
private String timeLineCode;
@ApiModelProperty("合同开始日期")
@XmlItem(name = "DATAB", type = XmlElementType.ELEMENT)
private String contractStartDate;
@ApiModelProperty("预计开业日期")
@XmlItem(name = "ZYJKY", type = XmlElementType.ELEMENT)
private String expectOpenDate;
@ApiModelProperty("合同结束日期")
@XmlItem(name = "DATBI", type = XmlElementType.ELEMENT)
private String contractEndDate;
@ApiModelProperty("客户编码")
@XmlItem(name = "ZKHBM", type = XmlElementType.ELEMENT)
private String clientCode;
@ApiModelProperty("客户名称")
@XmlItem(name = "ZKHMC", type = XmlElementType.ELEMENT)
完事,是不是超爽。。。
3 简单介绍一下2中正则表达式的含义
前置知识:
需要知道正则表达式中*、+、\S、\s等等都是什么意思,具体可以参考:https://www.runoob.com/regexp/regexp-metachar.html
这里简单列几个
匹配关系: