正則匹配報文中的XML(HTML)標簽,替換重新輸出


調用返回報文標簽中的存在中划線“-”,不符合規范,需要統一進行轉換,但不能替換標簽內的內容,利用正則匹配重新輸出

/**
* 正則匹配報文中的xml標簽,將其中的"-"轉換為"_",重新輸出
* 示例<Card-No>120-111</Card-No>
* 轉換輸出為:<Card_No>120-111</Card_No>
*/
public static String replaceMidLine(String resourceXml){
    /**
    * 匹配規則:
    * <[^>]+>:匹配xml(html)標簽,如<a>,</a>;<a/>;< > 內的除 > 之外的所有字符
    * (?=.*[-]):匹配含 - 的字符串,與上條規則並列
    *
    */
    Pattern pattern = Pattern.compile("<(?=.*[-])[^>]+>");
    Matcher matcher = pattern.matcher(resourceXml);
    StringBuffer sb = new StringBuffer();
    while(matcher.find()){
        matcher.appendReplacement(sb,matcher.group().replace("-","_"));
    }
    matcher.appendTail(sb);
    return sb.toString();
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM