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
這裏簡單列幾個
匹配關係: