Apache Commons Lang – StringEscapeUtils(SQL / CSV)


引き続き、StringEscapeUtilsクラスの説明です。

今回は、SQLとCSVの文字列のエスケープ・アンエスケープについてです。


escapeSql

public static java.lang.String escapeSql(java.lang.String str)

SQL文が正しく実行できるようにエスケープします。


パラメータ:
str – エスケープする文字列
戻り値:
エスケープされた文字列

StringEscapeUtils.escapeSql("McHale's Navy") = "McHale''s Navy"

escapeCsv

public static java.lang.String escapeCsv(java.lang.String str)

CSVファイルのカラムとして使用できるようにエスケープします。

カンマ・改行・ダブルクォーテーションが含まれている場合は、指定された文字列がダブルクォーテーションで括られ、
カンマ・改行・ダブルクォーテーションが含まれていない場合は、指定された文字列がそのまま返却されます。

ダブルクォーテーションが含まれている場合は、ダブルクォーテーションをもう一つ重ねた状態で返却されます。


パラメータ:
str – エスケープする文字列
戻り値:
エスケープされた文字列

StringEscapeUtils.escapeCsv("abcd")   = "abcd"
StringEscapeUtils.escapeCsv("ab,cd")  = "\"ab,cd\""
StringEscapeUtils.escapeCsv("ab\ncd") = "\"ab\ncd\""
StringEscapeUtils.escapeCsv("ab\"cd") = "\"ab\"\"cd\""

escapeCsv

public static void escapeCsv(java.io.Writer out, java.lang.String str) throws java.io.IOException

CSVファイルのカラムとして使用できるようにエスケープし、ライターに出力します。

カンマ・改行・ダブルクォーテーションが含まれている場合は、指定された文字列がダブルクォーテーションで括られ、
カンマ・改行・ダブルクォーテーションが含まれていない場合は、指定された文字列がそのまま返却されます。

ダブルクォーテーションが含まれている場合は、ダブルクォーテーションをもう一つ重ねた状態で返却されます。


パラメータ:
out – ライター
str – エスケープする文字列
例外:
java.lang.IllegalArgumentException – ライターにNULLが指定された場合
java.io.IOException – ライターで例外が発生した場合


unescapeCsv

public static java.lang.String unescapeCsv(java.lang.String str)

CSVファイルのカラムとして使用できるようにエスケープされた文字列を元に戻します。


パラメータ:
str – アンエスケープする文字列
戻り値:
アンエスケープされた文字列

StringEscapeUtils.unescapeCsv("abcd")         = "abcd"
StringEscapeUtils.unescapeCsv("\"ab,cd\"")    = "ab,cd"
StringEscapeUtils.unescapeCsv("\"ab\ncd\"")   = "ab\ncd"
StringEscapeUtils.unescapeCsv("\"ab\"\"cd\"") = "ab\"cd"

unescapeCsv

public static void unescapeCsv(java.io.Writer out, java.lang.String str) throws java.io.IOException

CSVファイルのカラムとして使用できるようにエスケープされた文字列を元に戻し、ライターに出力します。


パラメータ:
out – ライター
str – アンエスケープする文字列
例外:
java.lang.IllegalArgumentException – ライターにNULLが指定された場合
java.io.IOException – ライターで例外が発生した場合

関連記事

  1. コメント 0

  1. トラックバック 0

return top