close
在XML的特殊字元有五:<、>、&、'、"。通常轉特殊字元方式是像把&轉成&。另一種不轉的方式,就是加<![CDATA[><&'" ]]>包覆。所以我有個需求是,避免產出的XML檔變肥,遇到有特殊字元的值,才用<![CDATA[… ]]>包覆。在Java借助Regex方式如下:
colValue.matches(".*[><&'\"].*") |
Java字串的matches方法一定要全域match,所以中括號裡的特殊字元前後都要加.*。
如果還有換行字元的情況怎麼辦?只能這樣比對:
colValue.replaceAll("\n", "").matches(".*[><&'\"].*") |
全站熱搜
留言列表