クラス StringUtil

java.lang.Object
org.opengion.fukurou.fileexec.StringUtil

public final class StringUtil extends Object
StringUtilは、共通的に使用される文字列処理に関する、ユーティリティークラスです。
変更履歴:
7.0.0.0 (2017/07/07) 新規作成
導入されたバージョン:
JDK1.8,
  • フィールドの概要

    フィールド
    修飾子とタイプ
    フィールド
    説明
    static final String
    システム依存の改行記号(String)。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    static String
    getTime(String ymd, String hms)
    EUROMAPの日付、時間文字列から、openGion系日付時刻文字列を作成します。
    static String
    LOGファイルのフォーマットに対応した日付、時刻文字列を作成します。
    static String
    getTimeFormat(long date, String format)
    指定のフォーマットに対応した日付、時刻文字列を作成します。
    static String
    指定のフォーマットに対応した日付、時刻文字列を作成します。
    static String
    keyAppend(String defVal, String... keys)
    すべての引数をスペースで連結してtrim()した文字列を返します。
    static boolean
    numEquals(String val1, String val2)
    数字型文字列の一致をチェックします。
    static int
    nval(String val, int def)
    指定の数値型文字列が nullか、ゼロ文字列 の場合は、2番目の初期値を返します。
    static String
    nval(String val, String... def)
    指定の文字列が nullか、ゼロ文字列 の場合は、2番目以降の引数から、null でない最初の値を返します。
    static String
    変数の置き換え処理を行います。
    static String[]
    split(String line, char ch)
    指定の文字列を、引数の文字で、前後に分割します。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • CR

      public static final String CR
      システム依存の改行記号(String)。
  • メソッドの詳細

    • nval

      public static String nval(String val, String... def)
      指定の文字列が nullか、ゼロ文字列 の場合は、2番目以降の引数から、null でない最初の値を返します。 2番目以降の引数には、ゼロ文字列の指定も可能です。
      パラメータ:
      val - 判定する文字列
      def - 初期値の可変長引数
      戻り値:
      指定の値で、最初にnullでない値。最後まで、無ければ、val を返します。
    • nval

      public static int nval(String val, int def)
      指定の数値型文字列が nullか、ゼロ文字列 の場合は、2番目の初期値を返します。 そうでない場合は、指定の文字列を、Integer.parseInt( String ) した値を返します。
      パラメータ:
      val - 判定する数値型文字列
      def - 初期値の数値
      戻り値:
      指定の文字列が nullか、ゼロ文字列でない場合は、数値に変換し、そうでなければ、初期値の数値を返します。
      例外:
      NumberFormatException - 文字列が解析可能な整数型を含まない場合。
    • getTimeFormat

      public static String getTimeFormat()
      LOGファイルのフォーマットに対応した日付、時刻文字列を作成します。 yyyyMMddHHmmss 形式のフォーマットで、返します。
      戻り値:
      現在の日付、時刻文字列
    • getTimeFormat

      public static String getTimeFormat(String format)
      指定のフォーマットに対応した日付、時刻文字列を作成します。 例えば、LOGフォーマットの場合は、yyyyMMdd HH:mm:ss 形式です。
      パラメータ:
      format - 日付、時刻文字列のフォーマット
      戻り値:
      指定のフォーマットに対応した現在の日付、時刻文字列
    • getTimeFormat

      public static String getTimeFormat(long date, String format)
      指定のフォーマットに対応した日付、時刻文字列を作成します。 例えば、LOGフォーマットの場合は、yyyyMMdd HH:mm:ss 形式です。
      パラメータ:
      date - フォーマットする日付情報
      format - 日付、時刻文字列のフォーマット
      戻り値:
      指定のフォーマットに対応した指定の日付、時刻文字列
    • getTime

      public static String getTime(String ymd, String hms)
      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

      public static String keyAppend(String defVal, String... keys)
      すべての引数をスペースで連結してtrim()した文字列を返します。 各引数は、それぞれ、trim()した後、スペースで連結します。 ただし、引数が、nullの場合は、ゼロ文字列に変換します。 すべてを連結して、trim() した結果が、ゼロ文字列の場合は、defVal を返します。
      パラメータ:
      defVal - 結果が、ゼロ文字列の場合に返す文字列
      keys - 連結したいキーの可変長文字列配列
      戻り値:
      合成した文字列。
      変更履歴:
      7.2.5.0 (2020/06/01) 日付と時間を分けて取得します。
    • split

      public static String[] split(String line, char ch)
      指定の文字列を、引数の文字で、前後に分割します。 キー=値 や、キー,値 などの文字列を分割して、キーと値の配列を返します。 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

      public static boolean numEquals(String val1, String val2)
      数字型文字列の一致をチェックします。 処理としては、数字型文字列以外を判定条件に入れても、同一文字列の場合は、 true になります。 ここでは、どちらかの文字列の末尾が、".0" などの場合に、同じかどうかを 数値に変換して、判定します。 どちらかが、null の場合は、必ず false になります。両方とも、null でも false です。
      パラメータ:
      val1 - 判定用の引数1
      val2 - 判定用の引数2
      戻り値:
      判定結果(一致する場合は、true)
    • replaceText

      public static String replaceText(String orgTxt)
      変数の置き換え処理を行います。 これは、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) 新規追加