close

  在XML的特殊字元有五:<、>、&、'、"。通常轉特殊字元方式是像把&轉成&amp;。另一種不轉的方式,就是加<![CDATA[><&'" ]]>包覆。所以我有個需求是,避免產出的XML檔變肥,遇到有特殊字元的值,才用<![CDATA[… ]]>包覆。在Java借助Regex方式如下:

colValue.matches(".*[><&'\"].*")

  Java字串的matches方法一定要全域match,所以中括號裡的特殊字元前後都要加.*。

  如果還有換行字元的情況怎麼辦?只能這樣比對:

colValue.replaceAll("\n", "").matches(".*[><&'\"].*")
arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(0) 人氣()