2009年06月30日

【1日1Commons】CSV用の値のエスケープ

// JRE 1.6.0_07
// Commons Lang 2.4
// CSV用エスケープ
// org.apache.commons.lang.StringEscapeUtils
// tag エスケープ

// StringEscapeUtilsのCSV用エスケープメソッド
// CSVの項目に使用する文字列をエスケープしてくれる

// カンマが居たらダブルコーテーションでくくったり
System.out.println( StringEscapeUtils.escapeCsv( "「,」" ) );
  //=> "「,」"

// ダブルコーテーションが居たら重ねてエスケープしたり
System.out.println( StringEscapeUtils.escapeCsv( "「\"」" ) );
  //=> "「""」"

// 特にデリミタ系の子がいなければ、何もしなかったり
System.out.println( StringEscapeUtils.escapeCsv( "a" ) );
  //=> a

// 戻す時はunescape
System.out.println( StringEscapeUtils.unescapeCsv("\"「\"\"」\"") );
  //=> 「"」

// JavaDoc
// http://commons.apache.org/lang/api-release/org/apache/commons/lang/StringEscapeUtils.html#escapeCsv(java.lang.String)