public class StringUtil extends Object
半角・全角変換、HTML特殊文字エスケープ、SQL文LIKE句 エスケープ等、文字列操作に必要な機能を提供する。
修飾子とタイプ | フィールドと説明 |
---|---|
static String |
LIKE_ESC_CHAR
LIKE述語のパターン文字列で用いるエスケープ文字。
|
static String |
LINE_SEP
実行環境のOSで用いられる改行コードを取得する。
|
コンストラクタと説明 |
---|
StringUtil() |
修飾子とタイプ | メソッドと説明 |
---|---|
static String |
capitalizeInitial(String str)
指定された文字列の頭文字を大文字にする。
|
static String |
dump(Map<?,?> map)
引数のマップのダンプを取得する。
|
static String |
filter(String str)
HTMLメタ文字列変換。
|
static String |
getArraysStr(Object[] arrayObj)
ダンプ対象の値オブジェクトが配列形式の場合、
配列要素でなくなるまで繰り返し値を取得する。
|
static int |
getByteLength(String value,
String encoding)
指定された文字列のバイト列長を取得する。
|
static String |
getExtension(String name)
指定された文字列から末尾の拡張子を取得する。
|
static String |
hankakuToZenkaku(String value)
半角文字列を全角文字列に変換する。
|
static boolean |
isWhitespace(char c)
指定された文字が半角スペースかどうかを判別する。
|
static boolean |
isZenHankakuSpace(char c)
指定された文字が全角または半角スペースかどうかを判別する。
|
static String |
ltrim(String str)
文字列の左側のホワイトスペースを削除する。
|
static String |
ltrimZ(String str)
文字列の左側の全角および半角スペースを削除する。
|
static String[] |
parseCSV(String csvString)
CSV形式の文字列を文字列の配列に変換する。
|
static String[] |
parseCSV(String csvString,
String escapeString)
CSV形式の文字列を文字列の配列に変換する。
|
static String |
rtrim(String str)
文字列の右側のホワイトスペースを削除する。
|
static String |
rtrimZ(String str)
文字列の右側の全角および半角スペースを削除する。
|
static String |
toHexString(byte[] byteArray,
String delim)
バイト配列を16進文字列に変換する。
|
static String |
toLikeCondition(String condition)
検索条件文字列をLIKE述語のパターン文字列に変換する。
|
static String |
toShortClassName(String longClassName)
指定されたクラス名から短縮クラス名(パッケージ修飾なし)を取得する。
|
static String |
trim(String str)
文字列の両側のホワイトスペースを削除する。
|
static String |
trimZ(String str)
文字列の両側の全角および半角スペースを削除する。
|
static String |
zenkakuToHankaku(String value)
全角文字列を半角文字列に変換する。
|
public static final String LINE_SEP
public static boolean isWhitespace(char c)
c
- 対象文字public static boolean isZenHankakuSpace(char c)
c
- 対象文字public static String rtrim(String str)
例えば Oracle の場合、 CHAR 型の列の値を ResultSet.getString() で取得すると、定義長までスペースで パディングされた文字列が返される。一方、 VARCHAR2 の場合は 右端のスペースはトリミングされるため、そのままでは両者を正しく文字列 比較することが出来ない。また、画面入力された文字列の右端にスペースが 含まれている場合に、これを VARCHAR2 の列に挿入すると スペースもそのまま格納されるが、右端のスペースをトリミングする動作が 妥当な場合も多い。このようなときにこのメソッドを利用する。
※ 全角スペースはトリミングされない。str
- 変換前の文字列public static String ltrim(String str)
str
- 変換前の文字列public static String trim(String str)
str
- 変換前の文字列public static String rtrimZ(String str)
例えば Oracle の場合、 CHAR 型の列の値を ResultSet.getString() で取得すると、定義長までスペースで パディングされた文字列が返される。一方、 VARCHAR2 の場合は 右端のスペースはトリミングされるため、そのままでは両者を正しく文字列 比較することが出来ない。また、画面入力された文字列の右端にスペースが 含まれている場合に、これを VARCHAR2 の列に挿入すると スペースもそのまま格納されるが、右端のスペースをトリミングする動作が 妥当な場合も多い。このようなときにこのメソッドを利用する。
str
- 変換前の文字列public static String ltrimZ(String str)
str
- 変換前の文字列public static String trimZ(String str)
str
- 変換前の文字列public static String toShortClassName(String longClassName)
longClassName
- クラス名public static String getExtension(String name)
name
- 拡張子つきの名前public static String toHexString(byte[] byteArray, String delim)
byteArray
- バイト配列delim
- デリミタpublic static String capitalizeInitial(String str)
str
- 変換前の文字列public static String[] parseCSV(String csvString)
文字列の先頭がカンマで 始まっていたり、文字列の最後がカンマで終わっている場合には、 それぞれ変換結果の配列の最初か、あるいは最後の要素が空文字列となるように 変換される。
カンマが連続している場合には、空文字列として変換される。
csvString が null だった場合には、 要素数0の配列に変換される。
csvString
- CSV形式の文字列public static String[] parseCSV(String csvString, String escapeString)
文字列の先頭がカンマで 始まっていたり、文字列の最後がカンマで終わっている場合には、 それぞれ変換結果の配列の最初か、あるいは最後の要素が空文字列となるように 変換される。
カンマが連続している場合には、空文字列として変換される。
csvString が null だった場合には、
要素数0の配列に変換される。
エスケープ文字列に設定された文字列の次にあるカンマは区切り文字
としては認識しない。
エスケープ文字列の後のエスケープ文字列はエスケープ文字として
認識しない。
csvString
- CSV形式の文字列escapeString
- エスケープ文字列public static String dump(Map<?,?> map)
map
- 入出力マップpublic static String getArraysStr(Object[] arrayObj)
arrayObj
- 配列型オブジェクトpublic static String hankakuToZenkaku(String value)
カナ文字に濁点または半濁点が続く場合は、可能な限り1文字に変換する。
(例) 'カ' + '゙' => 'ガ'
またこの変換処理では以下の全角文字も変換先文字とされる。
value
- 半角文字列public static String zenkakuToHankaku(String value)
濁点または半濁点を持つカナ文字は、2文字に分解される。
(例) 'ガ' => 'カ' + '゙'
またこの変換処理では以下の全角文字も変換元文字と受け付ける。
value
- 全角文字列public static String filter(String str)
"<"、">"、"&"、"""、"'"といった、HTML中に そのまま出力すると問題がある文字を "<"、">"、"&"、"""、"'" に変換する。
nullが渡された場合はnullを返す。
str
- 変換する文字列public static String toLikeCondition(String condition)
検索条件文字列をLIKE述語のパターン文字列に変換する。
変換ルールは以下の通り。
LIKE_ESC_CHAR
を LIKE_ESC_CHAR
で
エスケープする。LIKE_ESC_CHAR
でエスケープする。conditionがnullの場合はnullを返す。
condition
- 検索条件文字列public static int getByteLength(String value, String encoding) throws UnsupportedEncodingException
value
- バイト列長を取得する対象の文字列encoding
- 文字エンコーディングUnsupportedEncodingException
- サポートされていない
エンコーディングを指定したとき発生する例外。Copyright © 2014 NTT DATA Corporation.