クラス StringUtil
java.lang.Object
org.opengion.fukurou.fileexec.StringUtil
StringUtilは、共通的に使用される文字列処理に関する、ユーティリティークラスです。
- 変更履歴:
- 7.0.0.0 (2017/07/07) 新規作成
- 導入されたバージョン:
- JDK1.8,
-
フィールドの概要
フィールド -
メソッドの概要
修飾子とタイプメソッド説明static StringEUROMAPの日付、時間文字列から、openGion系日付時刻文字列を作成します。static StringLOGファイルのフォーマットに対応した日付、時刻文字列を作成します。static StringgetTimeFormat(long date, String format) 指定のフォーマットに対応した日付、時刻文字列を作成します。static StringgetTimeFormat(String format) 指定のフォーマットに対応した日付、時刻文字列を作成します。static Stringすべての引数をスペースで連結してtrim()した文字列を返します。static boolean数字型文字列の一致をチェックします。static int指定の数値型文字列が nullか、ゼロ文字列 の場合は、2番目の初期値を返します。static String指定の文字列が nullか、ゼロ文字列 の場合は、2番目以降の引数から、null でない最初の値を返します。static StringreplaceText(String orgTxt) 変数の置き換え処理を行います。static String[]指定の文字列を、引数の文字で、前後に分割します。
-
フィールド詳細
-
CR
システム依存の改行記号(String)。
-
-
メソッドの詳細
-
nval
指定の文字列が nullか、ゼロ文字列 の場合は、2番目以降の引数から、null でない最初の値を返します。 2番目以降の引数には、ゼロ文字列の指定も可能です。- パラメータ:
val- 判定する文字列def- 初期値の可変長引数- 戻り値:
- 指定の値で、最初にnullでない値。最後まで、無ければ、val を返します。
-
nval
指定の数値型文字列が nullか、ゼロ文字列 の場合は、2番目の初期値を返します。 そうでない場合は、指定の文字列を、Integer.parseInt( String ) した値を返します。- パラメータ:
val- 判定する数値型文字列def- 初期値の数値- 戻り値:
- 指定の文字列が nullか、ゼロ文字列でない場合は、数値に変換し、そうでなければ、初期値の数値を返します。
- 例外:
NumberFormatException- 文字列が解析可能な整数型を含まない場合。
-
getTimeFormat
LOGファイルのフォーマットに対応した日付、時刻文字列を作成します。 yyyyMMddHHmmss 形式のフォーマットで、返します。- 戻り値:
- 現在の日付、時刻文字列
-
getTimeFormat
指定のフォーマットに対応した日付、時刻文字列を作成します。 例えば、LOGフォーマットの場合は、yyyyMMdd HH:mm:ss 形式です。- パラメータ:
format- 日付、時刻文字列のフォーマット- 戻り値:
- 指定のフォーマットに対応した現在の日付、時刻文字列
-
getTimeFormat
指定のフォーマットに対応した日付、時刻文字列を作成します。 例えば、LOGフォーマットの場合は、yyyyMMdd HH:mm:ss 形式です。- パラメータ:
date- フォーマットする日付情報format- 日付、時刻文字列のフォーマット- 戻り値:
- 指定のフォーマットに対応した指定の日付、時刻文字列
-
getTime
EUROMAPの日付、時間文字列から、openGion系日付時刻文字列を作成します。 日付は、yyyyMMdd 形式で、時間は、HH:mm:ss 形式を標準としますが、 数字以外の文字列を削除して、連結した文字列を作成します。 その場合、14桁数字文字列 になります。 その形式に合わない場合は、現在時刻 を返します。 ただし、日付の整合性チェックは、行っていません。- パラメータ:
ymd- EUROMAPの日付(yyyyMMdd形式の8桁数字)hms- EUROMAPの時間(HH:mm:ss形式の8桁数字)- 戻り値:
- openGion系日付時刻文字列(yyyyMMddHHmmss形式の14桁数字)
- 変更履歴:
- 7.0.5.1 (2019/09/27) 日付指定がない場合に、無条件に1秒待つ仕様を廃止。ロジックミス修正, 7.2.5.0 (2020/06/01) 日付と時間を分けて取得します。, 7.4.1.0 (2021/04/23) 1秒待つ仕様を復活。あくまで現在時刻を設定した場合のみ待ちます。
-
keyAppend
すべての引数をスペースで連結してtrim()した文字列を返します。 各引数は、それぞれ、trim()した後、スペースで連結します。 ただし、引数が、nullの場合は、ゼロ文字列に変換します。 すべてを連結して、trim() した結果が、ゼロ文字列の場合は、defVal を返します。- パラメータ:
defVal- 結果が、ゼロ文字列の場合に返す文字列keys- 連結したいキーの可変長文字列配列- 戻り値:
- 合成した文字列。
- 変更履歴:
- 7.2.5.0 (2020/06/01) 日付と時間を分けて取得します。
-
split
指定の文字列を、引数の文字で、前後に分割します。 キー=値 や、キー,値 などの文字列を分割して、キーと値の配列を返します。 1番目の配列[0] は、キー(chの左側)、2番目の配列[1] は、値(chの右側) です。 キーも値も、前後のスペースを削除:trim() します。 キー(1番目の配列[0])は、空文字列を許可しません。 // * 分割文字を含まない場合や、キーが、空文字列の場合は、null を返します。 分割文字を含まない場合や、キーが、空文字列の場合は、長さゼロの配列 を返します。 nullで無い場合は、配列は、必ず2個存在しそのどちらの値も、null を含みません。- パラメータ:
line- 1行分の文字列ch- 分割する文字- 戻り値:
- キーと値の配列。無ければ、長さゼロの配列
- 変更履歴:
- 7.3.0.0 (2021/01/06) SpotBugs:null ではなく長さが0の配列を返すことを検討する
- このメソッドは、nullを返しません
-
numEquals
数字型文字列の一致をチェックします。 処理としては、数字型文字列以外を判定条件に入れても、同一文字列の場合は、 true になります。 ここでは、どちらかの文字列の末尾が、".0" などの場合に、同じかどうかを 数値に変換して、判定します。 どちらかが、null の場合は、必ず false になります。両方とも、null でも false です。- パラメータ:
val1- 判定用の引数1val2- 判定用の引数2- 戻り値:
- 判定結果(一致する場合は、true)
-
replaceText
変数の置き換え処理を行います。 これは、org.opengion.fukurou.util.StringUtil#replaceText( String ,String ,String ,UnaryOperator<String> ) の簡易版です。 これは、単純な変数ではなく、${env.XXX}または、{@ENV..XXX} の XXX を環境変数に置き換えたり、 {@DATE.XXXX} を、日付文字列に置き換えたりする場合に、使用できます。 fukurou.util.StringUtil#replaceText 版との違いは、1回のみの変換と、ENV と DATE を決め打ちで処理していることです。 fileexec パッケージに、util パッケージと同じクラス名のStringUtil を作ったのがそもそもの間違いで、 fileexec パッケージ単独で使用していたものを、統合するにあたり、統合しきれなかったメソッドが 悪さしています。- パラメータ:
orgTxt- 変換元の文字列- 戻り値:
- 置換処理したテキスト
- 変更履歴:
- 7.2.5.0 (2020/06/01) 新規追加
-