Package nablarch.core.util
Class StringUtil
java.lang.Object
nablarch.core.util.StringUtil
文字列ユーティリティクラス。
文字列に関する汎用的な処理を提供する。 本クラスのメソッドには、
文字列に関する汎用的な処理を提供する。 本クラスのメソッドには、
insert(String, String, int...)のように
文字列編集用途に使用するメソッドも用意されている。これらのメソッドは、
例えば、電話番号をハイフン区切りに整形する等のフォーマット処理用に使用されることを想定している。
プロジェクトでフォーマット用のユーティリティを作成する場合、これらのメソッドを使用するとよい。
本クラスはサロゲートペアに対応している。- Author:
- Hisaaki Sioiri
-
Method Summary
Modifier and TypeMethodDescriptionstatic String行末の文字列を切り落とす。static byte[]指定された文字セットで文字列をエンコードする。static booleanStringインスタンスが何らかの文字を含んでいるか判定する。static boolean文字列配列が何らかの文字列を含んでいるか判定する。static booleanhasValue(Collection<String> strings) コレクションが何らかの文字列を含んでいるか判定する。static String区切り文字を文字列先頭から挿入する。static StringinsertFromRight(String target, String delimiter, int... intervals) 区切り文字を右側から挿入する。static StringinsertRepeatedly(String target, String delimiter, int interval) 区切り文字を等間隔で挿入する。static StringinsertRepeatedlyFromRight(String target, String delimiter, int interval) 区切り文字を右側から等間隔で挿入する。static booleanisNullOrEmpty(String string) nullまたは空文字列判定を行う。static booleanisNullOrEmpty(String... strings) nullまたは空文字列判定を行う。static booleanisNullOrEmpty(Collection<String> strings) nullまたは空文字列判定を行う。static String複数の文字列をセパレータを挟んで結合する。static String複数の文字列をセパレータを挟んで結合する。static StringlowerAndTrimUnderScore(String value) 大文字を小文字にし、アンダースコアを削除する。static String文字列の左側に、指定された文字を指定された文字列長に到達するまで加える。static String[]文字列配列を連結する。static StringnullToEmpty(String value) 引数で渡された値がnullの場合、空文字を返却する。
そうでない場合は、引数をそのまま返却する。static String文字列を繰り返す。static String文字列の右側に、指定された文字を指定された文字列長に到達するまで加える。文字列をセパレータで分割する。文字列をセパレータで分割する。static String[]toArray(Collection<String> collection) コレクションを配列に変換する。static String指定された文字セットでバイト配列をデコードする。static String指定された値を文字列に変換する。
-
Method Details
-
lpad
文字列の左側に、指定された文字を指定された文字列長に到達するまで加える。stringの文字数 >=lengthの場合はstringの文字列をそのまま返却。
例:StringUtil.lpad("100", 10, '0'); //--> "0000000100"- Parameters:
string- 文字列(null不可)length- 変換後文字列のサイズ(0以上)padChar- 加える文字- Returns:
- フォーマット後文字列
-
rpad
文字列の右側に、指定された文字を指定された文字列長に到達するまで加える。stringの文字数 >=lengthの場合はstringの文字列をそのまま返却。
例:StringUtil.rpad("100", 10, '0'); //--> "1000000000"- Parameters:
string- 文字列(null不可)length- 変換後文字列のサイズ(0以上)padChar- 加える文字- Returns:
- フォーマット後文字列
-
isNullOrEmpty
nullまたは空文字列判定を行う。|引数 | 戻り値 +--------------------+-------- | null | true | "" | true | "hoge" | false | " " (半角スペース) | false | " "(全角スペース) | false
- Parameters:
string- 文字列- Returns:
nullまたは空文字列の場合はtrue
-
isNullOrEmpty
nullまたは空文字列判定を行う。 与えられた文字列配列内の要素全てがnullまたは空文字であればtrueを返却する。|引数 | 戻り値 +--------------------+-------- | null | true | {} | true | {"", null} | true | { null, "a" } | false | " " (半角スペース) | false | " "(全角スペース) | false- Parameters:
strings- 文字列配列- Returns:
- 全要素が
nullまたは空文字の時、true - See Also:
-
isNullOrEmpty
nullまたは空文字列判定を行う。 与えられたコレクション内の要素全てがnullまたは空文字であればtrueを返却する。|引数 | 戻り値 +--------------------+-------- | null | true | {} | true | {"", null} | true | { null, "a" } | false | " " (半角スペース) | false | " "(全角スペース) | false- Parameters:
strings- 文字列を格納したコレクション- Returns:
- 全要素が
nullまたは空文字の時、true - See Also:
-
hasValue
Stringインスタンスが何らかの文字を含んでいるか判定する。isNullOrEmpty(String)と逆の真偽値を返却する。 否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。
例を以下に示す。以下のように書き換えることで、単純に読み下すことができる。private String something; public void hasSomething() { return (!StringUtil.isNullOrEmpty(this.something)) { }public void hasSomething() { return StringUtil.hasValue(this.something); }- Parameters:
string- 文字列- Returns:
- なんらかの文字が含まれている場合は
true - See Also:
-
hasValue
文字列配列が何らかの文字列を含んでいるか判定する。isNullOrEmpty(String...)と逆の真偽値を返却する。 否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。- Parameters:
strings- 調査対象となる文字列配列- Returns:
- 何らかの文字列を含む場合、
true - See Also:
-
hasValue
コレクションが何らかの文字列を含んでいるか判定する。isNullOrEmpty(Collection)と逆の真偽値を返却する。 否定演算子を使用することで可読性が劣る場合は本メソッドを使用すると良い。- Parameters:
strings- 調査対象となるコレクション- Returns:
- 何らかの文字列を含む場合、
true - See Also:
-
toString
指定された文字セットでバイト配列をデコードする。 JDK1.6以上を使用する場合は、java.lang.String(byte[], Charset)を使用すること。
bytesがnullだった場合、nullを返す。- Parameters:
bytes- バイト配列charset- 文字セット- Returns:
- 文字列
-
toString
指定された値を文字列に変換する。指定された値が
BigDecimalの場合には、BigDecimal.toPlainString()を使用して文字列に変換する。 それ以外のオブジェクトの場合には、toString()により文字列化を行う。- Parameters:
value- 文字列に変換する値- Returns:
- 文字列に変換した値
-
getBytes
指定された文字セットで文字列をエンコードする。 JDK1.6以上を使用する場合は、java.lang.String#getBytes(Charset)を使用すること。
stringがnullだった場合、nullを返す。stringが空文字だった場合、空のバイト配列を返す。- Parameters:
string- 文字列charset- 文字セット- Returns:
- バイト配列
-
repeat
文字列を繰り返す。 引数が文字列でない場合は、String.valueOf(Object)された文字列が繰り返される。- Parameters:
repeated- 繰り返し文字列(null不可)times- 繰り返し回数(0以上)- Returns:
- 文字列
-
insert
@Published(tag="architect") public static String insert(String target, String delimiter, int... intervals) 区切り文字を文字列先頭から挿入する。 例:StringUtil.insert("あいうえお", ",", 1, 1, 1); //-->あ,い,う,えお- Parameters:
target- 対象文字列(null不可)delimiter- 区切り文字(null不可)intervals- 挿入間隔(null不可・0不可)- Returns:
- 区切り文字挿入後の文字列
-
insertFromRight
@Published(tag="architect") public static String insertFromRight(String target, String delimiter, int... intervals) 区切り文字を右側から挿入する。 例:StringUtil.insertFromRight("あいうえお", ",", 1, 1, 1); //-->あい,う,え,お- Parameters:
target- 対象文字列(null不可)delimiter- 区切り文字(null不可)intervals- 文字列後ろからの挿入間隔(null不可・0不可)- Returns:
- 区切り文字挿入後の文字列
-
insertRepeatedly
@Published(tag="architect") public static String insertRepeatedly(String target, String delimiter, int interval) 区切り文字を等間隔で挿入する。 例:StringUtil.insertRepeatedly("あいうえお", ",", 1) //-->あ,い,う,え,お- Parameters:
target- 対象文字列(null不可)delimiter- 区切り文字(null不可)interval- 間隔(0不可)- Returns:
- 区切り文字挿入後の文字列
-
insertRepeatedlyFromRight
@Published(tag="architect") public static String insertRepeatedlyFromRight(String target, String delimiter, int interval) 区切り文字を右側から等間隔で挿入する。 例:StringUtil.insertRepeatedlyFromRight("あいうえお", ",", 1) //-->あ,い,う,え,お- Parameters:
target- 対象文字列delimiter- 区切り文字interval- 間隔(0不可)- Returns:
- 区切り文字挿入後の文字列
-
chomp
行末の文字列を切り落とす。- Parameters:
target- 文字列(null不可)end- 取り除く文字列(null不可)- Returns:
- 行末を取り除いた文字列
-
merge
文字列配列を連結する。- Parameters:
arrays- 配列(null不可)- Returns:
- 連結後の配列
-
toArray
コレクションを配列に変換する。- Parameters:
collection- 変換対象のコレクション(null不可)- Returns:
- 変換後の配列
-
lowerAndTrimUnderScore
大文字を小文字にし、アンダースコアを削除する。- Parameters:
value- 変換対象の文字列(null不可)- Returns:
- 変換後の文字列
-
nullToEmpty
引数で渡された値がnullの場合、空文字を返却する。
そうでない場合は、引数をそのまま返却する。StringUtil.nullToEmpty(null); //--> "" StringUtil.nullToEmpty(""); //--> "" StringUtil.nullToEmpty("hoge"); //--> "hoge"- Parameters:
value- 変換対象の値- Returns:
- 変換後の値
-
join
複数の文字列をセパレータを挟んで結合する。- Parameters:
separator- セパレータparams- 結合する文字列- Returns:
- セパレータで結合した文字列
-
join
複数の文字列をセパレータを挟んで結合する。- Parameters:
separator- セパレータparams- 結合する文字列nullToString- 結合する文字列がnullの場合に使用する文字列- Returns:
- セパレータで結合した文字列
-
split
文字列をセパレータで分割する。- Parameters:
str- 分割対象文字列separator- セパレータ- Returns:
- 分割された文字列
-
split
文字列をセパレータで分割する。- Parameters:
str- 文字列separator- セパレータtrim- 分割後の文字列をトリムする場合、true- Returns:
- 分割された文字列
-