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 boolean
Stringインスタンスが何らかの文字を含んでいるか判定する。static boolean
文字列配列が何らかの文字列を含んでいるか判定する。static boolean
hasValue
(Collection<String> strings) コレクションが何らかの文字列を含んでいるか判定する。static String
区切り文字を文字列先頭から挿入する。static String
insertFromRight
(String target, String delimiter, int... intervals) 区切り文字を右側から挿入する。static String
insertRepeatedly
(String target, String delimiter, int interval) 区切り文字を等間隔で挿入する。static String
insertRepeatedlyFromRight
(String target, String delimiter, int interval) 区切り文字を右側から等間隔で挿入する。static boolean
isNullOrEmpty
(String string) null
または空文字列判定を行う。static boolean
isNullOrEmpty
(String... strings) null
または空文字列判定を行う。static boolean
isNullOrEmpty
(Collection<String> strings) null
または空文字列判定を行う。static String
複数の文字列をセパレータを挟んで結合する。static String
複数の文字列をセパレータを挟んで結合する。static String
lowerAndTrimUnderScore
(String value) 大文字を小文字にし、アンダースコアを削除する。static String
文字列の左側に、指定された文字を指定された文字列長に到達するまで加える。static String[]
文字列配列を連結する。static String
nullToEmpty
(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:
- 分割された文字列
-