パッケージ org.opengion.fukurou.util

# クラス StringUtil

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

public final class StringUtil extends Object
StringUtil.java は、共通的に使用される String関連ﾒｿｯﾄﾞを集約した、ｸﾗｽです。

機能分類
  ﾕｰﾃｨﾘﾃｨ
導入されたバージョン:
  JDK5.0,

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `static String`
  `array2csv(String... array)`
  String型の配列から、ｶﾝﾏ(,)で連結されたString を作成します。
  `static String`
  `array2line(String[] array, String separator)`
  String型の配列から、ｾﾊﾟﾚｰﾀｰで連結されたString を作成します。
  `static String`
  `array2line(String[] array, String separator, int start)`
  String型の配列から、ｾﾊﾟﾚｰﾀｰで連結されたString を作成します。
  `static String`
  `caseReplace(String target, String caseStr, boolean ignoreCase)`
  引数の AA:01 BB:02 CC:03 … 形式の、元値:新値のｽﾍﾟｰｽ区切り文字列を元に、 元値を新値に置き換えます。
  `static String`
  `coalesce(CharSequence... strs)`
  最初の null(または、ｾﾞﾛ文字列、空白文字、ﾀﾌﾞや改行ｺｰﾄﾞ) 以外の値を返します。
  `static String`
  `code39(String value, boolean checkDigit)`
  CODE39 の 文字列を作成します。
  `static boolean`
  `contains(String key, String... vals)`
  ｷｰﾜｰﾄﾞに対して、可変長引数の文字列が、含まれているかどうかを判定します。
  `static String`
  `convertToOiginal(String unicode)`
  Unicode文字列から元の文字列に変換します。
  `static int`
  `countChar(String value, char ch)`
  文字列に含まれる、特定の文字の個数をｶｳﾝﾄして返します。
  `static ConcurrentMap<String,String>`
  `cssParse(String cssText)`
  簡易CSS形式のﾌｫｰﾏｯﾄを、Mapにｾｯﾄします。
  `static String[]`
  `csv2Array(String csvData)`
  ｶﾝﾏ(,)で連結された String を、配列に分解して、その値を返します。
  `static String[]`
  `csv2Array(String csvData, char separator)`
  区切り文字で連結された String を、配列に分解して、その値を返します。
  `static String[]`
  `csv2Array(String csvData, char separator, int len)`
  区切り文字で連結された String を、配列に分解して、その値を返します。
  `static String[]`
  `csv2Array(String csvData, char separator, int len, String defVal)`
  区切り文字で連結された String を、配列に分解して、その値を返します。
  `static Integer[]`
  `csv2ArrayExt(String csvData, int maxNo)`
  ｶﾝﾏ(,)、ﾊｲﾌﾝ(-)で連結された String を、配列に分解して、その値を返す処理のｽﾍﾟｼｬﾙ版です。
  `static String[]`
  `csv2ArrayOnly(String csvData)`
  区切り文字で連結された String を、配列に分解して、その値を返します。
  `static String`
  `csvOutQuote(String str)`
  文字列の前後のﾀﾞﾌﾞﾙｸｵｰﾄを取り外します。
  `static String`
  `cut(String org, int cutBytes)`
  引数から指定文字の分のﾊﾞｲﾄ数で切った文字列を返します。
  `static String`
  `cut(String org, int cutBytes, String enc)`
  引数から指定文字の分のﾊﾞｲﾄ数で切った文字列を返します。
  `static String`
  `deleteChar(String value, char ch)`
  所定のｷｬﾗｸﾀｺｰﾄﾞを取り除いた文字列を作成します。
  `static Object[]`
  `enume2Array(Enumeration<?> enume)`
  Enumerationから、ｵﾌﾞｼﾞｪｸﾄ配列ﾃﾞｰﾀを返します。
  `static Object[]`
  `enume2Array(Enumeration<?> enume, Object[] objs)`
  Enumerationから、ｵﾌﾞｼﾞｪｸﾄ配列ﾃﾞｰﾀを返します。
  `static String`
  `escapeFilter(String input, String ignore)`
  特殊文字のｴｽｹｰﾌﾟを元に戻す処理です。
  `static String`
  `getReplaceEscape(String value)`
  HTML のｴｽｹｰﾌﾟ記号(&#xZZZZ;)をUnicode文字列に戻します。
  `static String`
  `getUnicodeEscape(CharSequence value)`
  Unicode文字列の値を HTML のｴｽｹｰﾌﾟ記号(&#xZZZZ;)に変換します。
  `static String`
  `htmlFilter(String input)`
  HTML上のｴｽｹｰﾌﾟ文字を変換します。
  `static String`
  `htmlFilter(String input, boolean flag)`
  HTML上のｴｽｹｰﾌﾟ文字を変換します。
  `static String`
  `intFill(int num, int su_fill)`
  整数のﾌｫｰﾑ( 12 で、整数部 12桁を表す)に合った新しい文字列を作り、それを返します。
  `static String`
  `intFill(String str, int su_fill)`
  整数のﾌｫｰﾑ( 12 で、整数部 12桁を表す)に合った新しい文字列を作り、それを返します。
  `static boolean`
  `isEmpty(CharSequence... vals)`
  引数 vals が、一つでも、null または、ｾﾞﾛ文字列の場合は、true を返します。
  `static boolean`
  `isNotNull(CharSequence... vals)`
  引数 vals が、すべて、null または、ｾﾞﾛ文字列、またはすべて空白文字(ｽﾍﾟｰｽ、ﾀﾌﾞ、改行)でない場合は、true を返します。
  `static boolean`
  `isNull(CharSequence... vals)`
  引数 vals が、一つでも、null または、ｾﾞﾛ文字列、またはすべて空白文字(ｽﾍﾟｰｽ、ﾀﾌﾞ、改行)の場合は、true を返します。
  `static String`
  `iterator2line(Iterator<?> ite, String separator)`
  Iteratorから、ｾﾊﾟﾚｰﾀｰで連結されたString を作成します。
  `static String`
  `join(String delimiter, CharSequence... vals)`
  連結文字列を使用して、可変長引数のCharSequenceを連結して返します。
  `static String`
  `jsonFilter(String input)`
  JSON形式で出力する場合のためのｴｽｹｰﾌﾟ処理です。
  `static String`
  `lTrim0(String inStr)`
  文字列の前方のｾﾞﾛ(０)を削除します。
  `static byte[]`
  `makeByte(String value, String encode)`
  指定の文字列をﾊﾞｲﾄｺｰﾄﾞに変換します。
  `static String`
  `makeString(byte[] byteValue, int start, int length, String encode)`
  内部で使われる byte[] から String 生成 ﾒｿｯﾄﾞ。
  `static Object`
  `newInstance(String cls)`
  指定されたｸﾗｽﾛｰﾀﾞを使って、識別id に応じた ｵﾌﾞｼﾞｪｸﾄを作成します。
  `static String`
  `numberFormat(String inStr, int minFraction)`
  浮動小数点数について、ｶﾝﾏ編集を行います。
  `static String[]`
  `nval(String[] inStrs, String def)`
  引数配列 inStrs の各文字列が 、null または、ｾﾞﾛ文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def をｾｯﾄします。
  `static boolean`
  `nval(String inStr, boolean def)`
  引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
  `static double`
  `nval(String inStr, double def)`
  引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
  `static int`
  `nval(String inStr, int def)`
  引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
  `static long`
  `nval(String inStr, long def)`
  引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
  `static String`
  `nval(String inStr, String def)`
  引数 inStr が、null または、ｾﾞﾛ文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
  `static String`
  `nval2(String inStr, String def)`
  引数 inStr が、null、"_"、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
  `static String`
  `nval2(String inStr, String def, String def2)`
  引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
  `static String`
  `nvalAdd(CharSequence... strs)`
  指定のCharSequence同士を連結させます。
  `static String`
  `nvalCsv(String strCsv, String def)`
  引数の CSV形式文字列 が、null または、ｾﾞﾛ文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
  `static double`
  `parseDouble(String value)`
  文字列をdoubleに変換します。
  `static String`
  `quoteFilter(String input)`
  JavaScript 等の引数でのｸｵｰﾄ文字をASCII変換します。
  `static String`
  `realFill(String str, double su_fill)`
  小数点のﾌｫｰﾑに合った新しい文字列を作り、文字列を返します。
  `static String`
  `replace(String target, String from, String to)`
  ｽﾄﾘﾝｸﾞの部分文字列を,別の文字列に置換えたｽﾄﾘﾝｸﾞを返します。
  `static String`
  `replaceText(String orgTxt, String prefix, String suffix, UnaryOperator<String> func)`
  変数の置き換え処理を行います。
  `static String`
  `rTrim(String str)`
  文字列の後ろのｽﾍﾟｰｽを削除します。
  `static String`
  `rTrim(String str, char chr)`
  文字列の後ろから、指定の文字を削除します。
  `static String[]`
  `rTrims(String... str)`
  文字列配列の各要素の後ろのｽﾍﾟｰｽを削除します。
  `static String`
  `spanCut(String data)`
  引数からspanﾀｸﾞを取り除いて返します。
  `static String`
  `splitStartEnd(String org, String stStr, String edStr, Consumer<String> cons)`
  元の引数から開始文字列と終了文字列の間の文字列と、残りを連結した文字列を生成します。
  `static boolean`
  `startsChar(CharSequence data, char ch)`
  引数の文字列が、引数の char で始まるかどうか判定します[始まる場合は、true]。
  `static String`
  `stringFill(String str, int su_fill, String encode)`
  半角ｽﾍﾟｰｽで固定長(半角換算の数)に変換した文字列を返します。
  `static String`
  `stringKFill(String str, int su_fill, String encode)`
  全角ｽﾍﾟｰｽで固定長(半角換算の数)に変換した文字列を返します。
  `static String`
  `stringXFill(String str, int su_fill)`
  半角ｽﾍﾟｰｽで固定長(半角換算の数)に変換した文字列を返します。
  `static String`
  `tagCut(String data)`
  引数からﾀｸﾞを取り除いて返します。
  `static String`
  `toNumber(String str)`
  文字列の後ろから、" .0" の文字を削除した数字型文字列を返します。
  `static String`
  `urlAppend(CharSequence url1, CharSequence... urls)`
  指定のURL文字列同士を連結させます。
  `static String`
  `urlDecode(String value)`
  UTF-8 でURLｴﾝｺｰﾄﾞされた文字列をﾃﾞｺｰﾄﾞします。
  `static String`
  `urlEncode(String value)`
  UTF-8 で、URLｴﾝｺｰﾄﾞを行います。
  `static String`
  `urlEncode2(String value)`
  UTF-8 で、ASCII以外の文字の、URLｴﾝｺｰﾄﾞします。
  `static String`
  `valueOf(Object obj)`
  Object 引数の文字列表現を返します。
  `static String`
  `yenN2br(String input)`
  ｢\n｣という文字列を、BRﾀｸﾞに変換します。

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## メソッドの詳細

  - ### urlEncode

    public static String urlEncode(String value)
    UTF-8 で、URLｴﾝｺｰﾄﾞを行います。 このﾒｿｯﾄﾞは、JDK1.4 以上でないと使用できません。
    パラメータ:
      `value` - ｴﾝｺｰﾄﾞする文字列
    戻り値:
      指定の文字ｺｰﾄﾞでＵＲＬｴﾝｺｰﾄﾞされた文字列
    関連項目:
      - `urlEncode2(String)`
    このﾒｿｯﾄﾞは、nullを返しません

  - ### urlEncode2

    public static String urlEncode2(String value)
    UTF-8 で、ASCII以外の文字の、URLｴﾝｺｰﾄﾞします。 00 ～ 7F までのｺｰﾄﾞは、変換しません。 これは、日本語ﾌｧｲﾙ名の直ﾘﾝｸなど、URLｴﾝｺｰﾄﾞが必要ですが、 http:// などのURL の場合は、':' , '/' は、ｴﾝｺｰﾄﾞしたくありません。 また、openGion では、[ｶﾗﾑ] などの特殊な変数を渡して、処理させているので それらのｷｰﾜｰﾄﾞも変換してほしくありません。 ただし、"%" と、";" は、変換します。
    パラメータ:
      `value` - ｴﾝｺｰﾄﾞする文字列
    戻り値:
      指定の文字ｺｰﾄﾞでURLｴﾝｺｰﾄﾞされた文字列(ASCII は省く)
    関連項目:
      - `urlEncode(String)`
    変更履歴:
      6.2.0.1 (2015/03/06) ASCII以外の文字の、URLｴﾝｺｰﾄﾞを行う。, 6.9.0.0 (2018/01/31) 半角の中でも ':' , '/' , '?' , '=' , '&' , '.' , '_' , '~' 以外の文字は置き換えます。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### urlDecode

    public static String urlDecode(String value)
    UTF-8 でURLｴﾝｺｰﾄﾞされた文字列をﾃﾞｺｰﾄﾞします。 このﾒｿｯﾄﾞは、JDK1.4 以上でないと使用できません。
    パラメータ:
      `value` - ﾃﾞｺｰﾄﾞする文字列
    戻り値:
      ﾃﾞｺｰﾄﾞされた文字列
    変更履歴:
      5.4.5.0 (2012/02/29) 追加

  - ### rTrim

    public static String rTrim(String str)
    文字列の後ろのｽﾍﾟｰｽを削除します。 String ｸﾗｽの trim()ﾒｿｯﾄﾞは、文字列の両方のｽﾍﾟｰｽを削除しますが、 この rTrim( String ) は、後ろの半角ｽﾍﾟｰｽのみ、詰めます。 注意：' ' (ｽﾍﾟｰｽ文字) より小さい文字を切り取ります。
    パラメータ:
      `str` - 元の文字列
    戻り値:
      後ろの半角ｽﾍﾟｰｽを詰めた、新しい文字列

  - ### rTrim

    public static String rTrim(String str, char chr)
    文字列の後ろから、指定の文字を削除します。 右側の文字が、指定の文字の場合、除去します。
    パラメータ:
      `str` - 対象文字列
      `chr` - 指定文字
    戻り値:
      右側から指定文字を除去後の文字列
    変更履歴:
      8.0.2.0 (2021/11/30) 新規作成

  - ### toNumber

    public static String toNumber(String str)
    文字列の後ろから、" .0" の文字を削除した数字型文字列を返します。 数字型文字列は、入力文字列の後ろの ｽﾍﾟｰｽ、小数点、ｾﾞﾛを削除します。 また、先頭が、"." で始まる場合は、"0" を追加します。 例: "123.00" ⇒ "123" , ".123" ⇒ "0.123"
    パラメータ:
      `str` - 元の文字列
    戻り値:
      数字文字列化された、新しい文字列
    変更履歴:
      3.8.8.1 (2007/01/10) 新規作成

  - ### lTrim0

    public static String lTrim0(String inStr)
    文字列の前方のｾﾞﾛ(０)を削除します。 先頭の０を削除するまえに、trim して、ｽﾍﾟｰｽを削除しておきます。 すべてがｾﾞﾛ(０)の場合は、"0" を返します。 小数点( 0.01 など )の場合は、先頭の 0 がすべて消えるとまずいので、 "0." 部分は、残します。
    パラメータ:
      `inStr` - 元の文字列
    戻り値:
      前方のｾﾞﾛ(0)を削除した、新しい文字列
    変更履歴:
      3.5.4.5 (2004/01/23) 新規追加

  - ### rTrims

    public static String[] rTrims(String... str)
    文字列配列の各要素の後ろのｽﾍﾟｰｽを削除します。 個々の配列要素に対して、rTrim( String str ) を適用します。 元の文字列配列に直接作用するのではなく、新しい文字列配列に 結果をｺﾋﾟｰして返します。 ただし、元の文字列配列が、null か、length == 0 の場合は、 元の文字列配列(ｱﾄﾞﾚｽ)を返します。 注意：' ' (ｽﾍﾟｰｽ文字) より小さい文字を切り取ります。
    パラメータ:
      `str` - 元の文字列配列(可変長引数)
    戻り値:
      後ろの半角ｽﾍﾟｰｽを詰めた、新しい文字列配列

  - ### csvOutQuote

    public static String csvOutQuote(String str)
    文字列の前後のﾀﾞﾌﾞﾙｸｵｰﾄを取り外します。 前後にﾀﾞﾌﾞﾙｸｵｰﾄが入っていなければ、そのままの文字列を返します。 前後に入っていない(片方のみなど)場合も、そのままの文字列を返します。 ※ 先頭に、'0 が含まれる場合は、ｶﾝﾏを削除します。 従来は、ﾀﾞﾌﾞﾙｸｵｰﾄしてから、rTrim してましたが、trim してから、 ﾀﾞﾌﾞﾙｸｵｰﾄ外しを行います。
    パラメータ:
      `str` - 元の文字列
    戻り値:
      ﾀﾞﾌﾞﾙｸｵｰﾄを取り外した新しい文字列
    変更履歴:
      6.2.1.0 (2015/03/13) 先頭に、'0 が含まれる場合は、ｶﾝﾏを削除

  - ### makeString

    public static String makeString(byte[] byteValue, int start, int length, String encode)
    内部で使われる byte[] から String 生成 ﾒｿｯﾄﾞ。
    パラメータ:
      `byteValue` - 変換するﾊﾞｲﾄ列
      `start` - 変換開始ｱﾄﾞﾚｽ
      `length` - 変換ﾊﾞｲﾄ数
      `encode` - 変換する文字ｴﾝｺｰﾄﾞ
    戻り値:
      変換後文字列

  - ### makeByte

    public static byte[] makeByte(String value, String encode)
    指定の文字列をﾊﾞｲﾄｺｰﾄﾞに変換します。 引数の文字列が null の場合は、return は、byte[0] を返します。
    パラメータ:
      `value` - 変換するｽﾄﾘﾝｸﾞ値
      `encode` - 変換する文字ｴﾝｺｰﾄﾞ
    戻り値:
      変換後文字列

  - ### stringXFill

    public static String stringXFill(String str, int su_fill)
    半角ｽﾍﾟｰｽで固定長(半角換算の数)に変換した文字列を返します。 半角ｽﾍﾟｰｽ埋めは、文字が半角、全角混在でもかまいません。 内部にｾｯﾄした文字列は、変化しません。
    パラメータ:
      `str` - Fill埋めする文字列
      `su_fill` - Fill埋めする文字列の長さ。(半角換算の数)
    戻り値:
      Fill埋めした新しいStringを返す。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### stringFill

    public static String stringFill(String str, int su_fill, String encode)
    半角ｽﾍﾟｰｽで固定長(半角換算の数)に変換した文字列を返します。 半角ｽﾍﾟｰｽ埋めは、文字が半角、全角混在でもかまいません。 内部にｾｯﾄした文字列は、変化しません。
    パラメータ:
      `str` - Fill埋めする文字列
      `su_fill` - Fill埋めする文字列の長さ。(半角換算の数)
      `encode` - Fill埋めする文字列の文字ｴﾝｺｰﾄﾞ
    戻り値:
      Fill埋めした新しいStringを返す。
    変更履歴:
      6.3.6.0 (2015/08/16) System.arraycopy が使える箇所は、置き換えます。

  - ### intFill

    public static String intFill(String str, int su_fill)
    整数のﾌｫｰﾑ( 12 で、整数部 12桁を表す)に合った新しい文字列を作り、それを返します。 実行できるのは、整数の String に対してのみです。 内部にｾｯﾄした文字列は、変化しません。 桁数がｵｰﾊﾞｰする場合は、RuntimeException を throw します。 String str = StringUtil.intFill( "123",10 ); 実行結果："0000000123"
    パラメータ:
      `str` - 整数の String
      `su_fill` - ﾌｫｰﾑを表す正の数字 ( 12 で、整数部 12桁を表す)
    戻り値:
      整数のﾌｫｰﾑに合った文字列
    例外:
      `RuntimeException` - su_fill が、負の数か、元の文字数がﾌｫｰﾑより長い場合、ｴﾗｰ
    関連項目:
      - `intFill(int,int)`
    このﾒｿｯﾄﾞは、nullを返しません

  - ### intFill

    public static String intFill(int num, int su_fill)
    整数のﾌｫｰﾑ( 12 で、整数部 12桁を表す)に合った新しい文字列を作り、それを返します。 実行できるのは、正の整数に対してのみです。 桁数がｵｰﾊﾞｰする場合は、ｵｰﾊﾞｰしたまま返します。 String str = StringUtil.intFill( 123,10 ); 実行結果："0000000123"
    パラメータ:
      `num` - 正の整数
      `su_fill` - ﾌｫｰﾑを表す数字 ( 12 で、整数部 12桁を表す)
    戻り値:
      整数のﾌｫｰﾑに合った文字列
    例外:
      `RuntimeException` - su_fill または、num が、負の数の場合、ｴﾗｰ
    関連項目:
      - `intFill(String,int)`
    変更履歴:
      6.0.2.4 (2014/10/17) 新規追加

  - ### stringKFill

    public static String stringKFill(String str, int su_fill, String encode)
    全角ｽﾍﾟｰｽで固定長(半角換算の数)に変換した文字列を返します。
    パラメータ:
      `str` - Fill埋めする文字列
      `su_fill` - Fill埋めする文字列の長さ。(半角換算の数)
      `encode` - Fill埋めする文字列の文字ｴﾝｺｰﾄﾞ
    戻り値:
      全角ｽﾍﾟｰｽでFill埋めした新しいStringを返す。

  - ### realFill

    public static String realFill(String str, double su_fill)
    小数点のﾌｫｰﾑに合った新しい文字列を作り、文字列を返します。 現在は、小数点が頭に付いたり、最後に付く場合の対応はしていません。 ﾌｫｰﾑは、12.4 で、 000000000010.1000 という形で、ﾋﾟﾘｵﾄﾞを含みます。 // 半角 整数部 10 桁 小数部 5桁で固定長の文字を得る。 String str = StringUtil.realFill( "123.45" ,10.5 ) ; 実行結果：0000000123.45000
    パラメータ:
      `str` - 整数の String
      `su_fill` - ﾌｫｰﾑを表す実数 ( 12.4 で、整数部 12桁、小数部 4桁 計17桁 )
    戻り値:
      value 小数点のﾌｫｰﾑ文字列
    このﾒｿｯﾄﾞは、nullを返しません

  - ### replace

    public static String replace(String target, String from, String to)
    ｽﾄﾘﾝｸﾞの部分文字列を,別の文字列に置換えたｽﾄﾘﾝｸﾞを返します。 例えば、ﾘﾀｰﾝｺｰﾄﾞを< br />に置換えて、画面上に改行表示させるが可能です。
    パラメータ:
      `target` - 元の文字列
      `from` - 置換元部分文字列
      `to` - 置換先部分文字列
    戻り値:
      置換えた文字列
    変更履歴:
      5.0.0.1 (2009/08/15) 不要なｵﾌﾞｼﾞｪｸﾄの生成を抑制する。

  - ### replaceText

    public static String replaceText(String orgTxt, String prefix, String suffix, UnaryOperator<String> func)
    変数の置き換え処理を行います。 変換元の文字列から、prefix と、suffix で囲まれた文字列をﾋﾟｯｸｱｯﾌﾟして、 func で指定の関数を、適用します。 変換元の文字列に、複数含まれていてもかまいません。 これは、単純な変数ではなく、${env.XXX}または、{@ENV..XXX} の XXX を環境変数に置き換えたり、 {@DATE.XXXX} を、日付文字列に置き換えたりする場合に、使用できます。 例えば、環境変数 の置き換えは、 replaceText( orgText , "${env." , "}" , System::getenv ); または、 replaceText( orgText , "{@ENV." , "}" , System::getenv ); とします。 日付関数の置き換えは、 replaceText( orgText , "{@DATE." , "}" , HybsDateUtil::getDateFormat ); とします。 orgTxt , prefix , suffix , func は必須で、null,ｾﾞﾛ文字列、空白文字等の判定で、 true の場合は、変換元の文字列 をそのまま返します。
    パラメータ:
      `orgTxt` - 変換元の文字列
      `prefix` - 変換処理を行うｷｰﾜｰﾄﾞの先頭文字列
      `suffix` - 変換処理を行うｷｰﾜｰﾄﾞの終了文字列
      `func` - 変換処理を行う、関数型ｲﾝﾀﾌｪｰｽ
    戻り値:
      置換処理したﾃｷｽﾄ
    変更履歴:
      6.9.2.1 (2018/03/12) 新規追加

  - ### caseReplace

    public static String caseReplace(String target, String caseStr, boolean ignoreCase)
    引数の AA:01 BB:02 CC:03 … 形式の、元値:新値のｽﾍﾟｰｽ区切り文字列を元に、 元値を新値に置き換えます。 これは、部分置換ではなく、完全一致で処理します。 caseStr が null や、ﾏｯﾁしなかった場合は、元の値を返します。 その場合、ignoreCase=true としている場合は、元の文字列 も大文字に変換されて返されます。 ｾﾞﾛ文字列を元値や新値で使用することは可能ですが、ｽﾍﾟｰｽを使用することはできません。
    パラメータ:
      `target` - 元の文字列
      `caseStr` - 置換ﾘｽﾄ(AA:01 BB:02 CC:03 … 形式)。null の場合は、比較しない。
      `ignoreCase` - true:大文字として比較 / false:そのまま比較
    戻り値:
      元の文字列を置き換えた結果。置換ﾘｽﾄに存在しなければ、元の文字列を返す。
    変更履歴:
      5.7.2.3 (2014/01/31) 新規追加

  - ### array2csv

    public static String array2csv(String... array)
    String型の配列から、ｶﾝﾏ(,)で連結されたString を作成します。 これは、配列を表示用に変換する為のものです。 array2line( array, ",", 0 ); と同等です。
    パラメータ:
      `array` - 元の文字列配列(可変長引数)
    戻り値:
      一列に変換した文字列(引数がnullの場合は、長さ0の文字列を返す)
    このﾒｿｯﾄﾞは、nullを返しません

  - ### array2line

    public static String array2line(String[] array, String separator)
    String型の配列から、ｾﾊﾟﾚｰﾀｰで連結されたString を作成します。 これは、配列を表示用に変換する為のものです。
    パラメータ:
      `array` - 元の文字列配列
      `separator` - 区切り記号
    戻り値:
      一列に変換した文字列(引数がnullの場合は、長さ0の文字列を返す)
    このﾒｿｯﾄﾞは、nullを返しません

  - ### array2line

    public static String array2line(String[] array, String separator, int start)
    String型の配列から、ｾﾊﾟﾚｰﾀｰで連結されたString を作成します。 これは、配列を表示用に変換する為のものです。
    パラメータ:
      `array` - 元の文字列配列
      `separator` - 区切り記号
      `start` - 配列の連結開始ｱﾄﾞﾚｽ
    戻り値:
      一列に変換した文字列(引数がnullの場合は、長さ0の文字列を返す)
    このﾒｿｯﾄﾞは、nullを返しません

  - ### enume2Array

    public static Object[] enume2Array(Enumeration<?> enume)
    Enumerationから、ｵﾌﾞｼﾞｪｸﾄ配列ﾃﾞｰﾀを返します。 これは、Enumerationを表示用に変換する為のものです。
    パラメータ:
      `enume` - 元のEnumeration
    戻り値:
      ｵﾌﾞｼﾞｪｸﾄ配列
    このﾒｿｯﾄﾞは、nullを返しません

  - ### enume2Array

    public static Object[] enume2Array(Enumeration<?> enume, Object[] objs)
    Enumerationから、ｵﾌﾞｼﾞｪｸﾄ配列ﾃﾞｰﾀを返します。 これは、Enumerationを表示用に変換する為のものです。
    パラメータ:
      `enume` - 元のEnumeration
      `objs` - - 配列が十分な大きさを持つ場合は、Vector の要素が格納される配列。 そうでない場合は、要素を格納するために同じ実行時の型の新しい配列が割り当てられる
    戻り値:
      ｵﾌﾞｼﾞｪｸﾄ配列

  - ### iterator2line

    public static String iterator2line(Iterator<?> ite, String separator)
    Iteratorから、ｾﾊﾟﾚｰﾀｰで連結されたString を作成します。 これは、Enumerationを表示用に変換する為のものです。
    パラメータ:
      `ite` - 元のIterator
      `separator` - 区切り記号
    戻り値:
      一列に変換した文字列
    このﾒｿｯﾄﾞは、nullを返しません

  - ### csv2Array

    public static String[] csv2Array(String csvData)
    ｶﾝﾏ(,)で連結された String を、配列に分解して、その値を返します。 たとえば、AAA,BBB,CCC などのﾘｿｰｽﾃﾞｰﾀを受けてから配列に入れ直して、 ﾒﾆｭｰなりﾘｽﾄを作成するのに便利です。 要素が空の場合は、必ずｶﾝﾏの間にｽﾍﾟｰｽを入れて記述してください。 分割後の文字列の前後のｽﾍﾟｰｽは、削除されます。
    パラメータ:
      `csvData` - 元のﾃﾞｰﾀ
    戻り値:
      文字列配列(引数がnull、ｾﾞﾛ文字列の場合は、ｻｲｽﾞ0の配列を返す)
    このﾒｿｯﾄﾞは、nullを返しません

  - ### csv2Array

    public static String[] csv2Array(String csvData, char separator)
    区切り文字で連結された String を、配列に分解して、その値を返します。 たとえば、AAA,BBB,CCC などのﾘｿｰｽﾃﾞｰﾀを受けてから配列に入れ直して、 ﾒﾆｭｰなりﾘｽﾄを作成するのに便利です。 連続した区切り文字は、1文字に分割します。 分割後の文字列の前後のｽﾍﾟｰｽは、削除されます。
    パラメータ:
      `csvData` - 元のﾃﾞｰﾀ
      `separator` - 区切り文字
    戻り値:
      文字列配列(引数がnull、ｾﾞﾛ文字列の場合は、ｻｲｽﾞ0の配列を返す)
    このﾒｿｯﾄﾞは、nullを返しません

  - ### csv2Array

    public static String[] csv2Array(String csvData, char separator, int len)
    区切り文字で連結された String を、配列に分解して、その値を返します。 たとえば、AAA,BBB,CCC などのﾘｿｰｽﾃﾞｰﾀを受けてから配列に入れ直して、 ﾒﾆｭｰなりﾘｽﾄを作成するのに便利です。 連続した区切り文字は、1文字に分割します。 分割後の文字列の前後のｽﾍﾟｰｽは、削除されます。(区切り文字がTABの場合を除く：7.0.4.0 (2019/05/31) ) 第3の引数は、ﾘﾀｰﾝする配列の個数を指定します。 len=0 だけは特別で、分解したﾃﾞｰﾀの個数分の配列を作成します。指定の長さが短い場合は、 そこまで分のみ取り込みます。指定の長さが長い場合は、余分に配列を作成します。 ﾃﾞｰﾀがNULLや、ｾﾞﾛ文字列の場合は、長さｾﾞﾛの配列を返します。 ｾｯﾄされる値は、"" です。
    パラメータ:
      `csvData` - 元のﾃﾞｰﾀ
      `separator` - 区切り文字
      `len` - 指定の最大長さの配列で返します(0の場合は、ｵﾘｼﾞﾅﾙの長さの配列か、長さｾﾞﾛの配列)。
    戻り値:
      文字列配列(引数がnull、ｾﾞﾛ文字列の場合は、ｻｲｽﾞ(len)の配列を返す)
    変更履歴:
      3.8.5.1 (2006/05/08) 設定配列の数を指定できるように変更, 3.8.8.2 (2007/01/26) 分割後の値の前後のｽﾍﾟｰｽは削除します。, 6.4.5.1 (2016/04/28) CSVTokenizer のｲﾝﾀｰﾌｪｰｽを、Iterator に変更。, 6.8.5.0 (2018/01/09) 引数lenを最大配列長として処理します。, 7.0.4.0 (2019/05/31) separatorがﾀﾌﾞの場合は、trim() しないように変更
    このﾒｿｯﾄﾞは、nullを返しません

  - ### csv2Array

    public static String[] csv2Array(String csvData, char separator, int len, String defVal)
    区切り文字で連結された String を、配列に分解して、その値を返します。 これは、#csv2Array( String,char,int ) ﾒｿｯﾄﾞで、分割時のﾃﾞｰﾀが ｾﾞﾛ文字列の場合に、ｾｯﾄする初期値です。 元のﾃﾞｰﾀがnull、ｾﾞﾛ文字列の場合は、defVal がｾｯﾄされた ｻｲｽﾞlenの配列を返します。 ﾃﾞｰﾀ数が、指定の len より少ない場合、先のﾒｿｯﾄﾞでは、ｾﾞﾛ文字列を追加していましたが、 ここでは、初期値の defVal をｾｯﾄします。 また、分解後、trim() されたﾃﾞｰﾀが、ｾﾞﾛ文字列の場合も、defVal をｾｯﾄします。
    パラメータ:
      `csvData` - 元のﾃﾞｰﾀ
      `separator` - 区切り文字
      `len` - 指定の長さの配列で返します。
      `defVal` - 分割したﾃﾞｰﾀが、ｾﾞﾛ文字列の場合の初期値
    戻り値:
      文字列配列(引数がnull、ｾﾞﾛ文字列の場合は、ｻｲｽﾞ0の配列を返す)
    変更履歴:
      6.8.5.0 (2018/01/09) CSVTokenizer のｲﾝﾀｰﾌｪｰｽを、Iterator に変更。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### csv2ArrayOnly

    public static String[] csv2ArrayOnly(String csvData)
    区切り文字で連結された String を、配列に分解して、その値を返します。 たとえば、AAA,BBB,CCC などのﾘｿｰｽﾃﾞｰﾀを受けてから配列に入れ直して、 ﾒﾆｭｰなりﾘｽﾄを作成するのに便利です。 csv2Array と異なり、連続した区切り文字は、分割せずにﾄｰｸﾝのみ切り出します。 ﾄｰｸﾝは、ｶﾝﾏ(,)のみで区切り、その後 trim() により 前後のｽﾍﾟｰｽを削除します。
    パラメータ:
      `csvData` - 元のﾃﾞｰﾀ
    戻り値:
      文字列配列
    このﾒｿｯﾄﾞは、nullを返しません

  - ### csv2ArrayExt

    public static Integer[] csv2ArrayExt(String csvData, int maxNo)
    ｶﾝﾏ(,)、ﾊｲﾌﾝ(-)で連結された String を、配列に分解して、その値を返す処理のｽﾍﾟｼｬﾙ版です。 0,1,3,5-8,10-* などの数字文字列から、必要な数字をﾋﾟｯｸｱｯﾌﾟした数字配列を返します。 引数の maxNo は、"*" が指定された場合の、最大の数値です。 よって、"*" は、単独(1文字)では、0-maxNo を表し、N-* では、N-maxNo を意味します。 CSV形式で指定される値は、基本的に数字で、重複(1,1,2,2)、逆転(3,2,1)で指定できます。 5-3 と指定した場合は、5,4,3 に分解されます。逆順に登録されます。 重複削除、昇順並べ替え等が、必要な場合は、取得後の配列を操作してください。
    パラメータ:
      `csvData` - 0,1,3,5-8,10-* などのCSV-ﾊｲﾌﾝ文字列
      `maxNo` - "*" が指定された場合の、最大数
    戻り値:
      数字配列(引数がnull、ｾﾞﾛ文字列の場合は、ｻｲｽﾞ0の配列を返す)
    変更履歴:
      5.5.7.2 (2012/10/09) 新規追加, 6.2.6.0 (2015/06/19) ｱﾙﾌｧﾍﾞｯﾄの対応を廃止し、数字配列のみｻﾎﾟｰﾄします。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### valueOf

    public static String valueOf(Object obj)
    Object 引数の文字列表現を返します。 String.valueOf とほぼ同じ動作をしますが、引数が null の場合に、 "null" という文字列を返すのではなく、なにもない文字列 "" を返します。
    パラメータ:
      `obj` - 文字列表現すべき元のｵﾌﾞｼﾞｪｸﾄ
    戻り値:
      引数が null の場合は、"" に等しい文字列。そうでない場合は、obj.toString() の値
    このﾒｿｯﾄﾞは、nullを返しません

  - ### htmlFilter

    public static String htmlFilter(String input)
    HTML上のｴｽｹｰﾌﾟ文字を変換します。 HTMLで表示する場合にきちんとｴｽｹｰﾌﾟ文字に変換しておかないと Script を実行されたり、不要なHTMLｺﾏﾝﾄﾞを潜り込まされたりするため、 ｾｷｭﾘﾃｨｰﾎｰﾙになる可能性があるので、注意してください。
    パラメータ:
      `input` - HTMLｴｽｹｰﾌﾟ前の文字列
    戻り値:
      ｴｽｹｰﾌﾟ文字に変換後の文字列
    変更履歴:
      5.8.2.2 (2014/12/19) ｱﾎﾟｽﾄﾛﾌｨの対応, 6.2.2.3 (2015/04/10) htmlﾌｨﾙﾀｰに、BR→改行処理機能を追加。互換性の為のﾒｿｯﾄﾞ。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### htmlFilter

    public static String htmlFilter(String input, boolean flag)
    HTML上のｴｽｹｰﾌﾟ文字を変換します。 HTMLで表示する場合にきちんとｴｽｹｰﾌﾟ文字に変換しておかないと Script を実行されたり、不要なHTMLｺﾏﾝﾄﾞを潜り込まされたりするため、 ｾｷｭﾘﾃｨｰﾎｰﾙになる可能性があるので、注意してください。 引数のﾌﾗｸﾞは、BR→改行ｺｰﾄﾞ の変換処理を行うかどうかを指定します。 true が、変換処理を行うです。 titleなどのTips表示する場合、改行は、｢\n(改行ｺｰﾄﾞ)｣で行います。 (HTMLで取り扱うので、&#13;&#10; の方が良いかもしれない。 その場合は、ｴｽｹｰﾌﾟ処理と順番を入れ替えないと、そのまま表示されてしまう。) 一方、ﾀｸﾞ等で改行を行うには、<BR/> で改行を指定します。 改行については、｢\n｣文字列を指定する事で統一します。
    パラメータ:
      `input` - HTMLｴｽｹｰﾌﾟ前の文字列
      `flag` - [true:BR変換する/false:BR変換しない]
    戻り値:
      ｴｽｹｰﾌﾟ文字に変換後の文字列
    変更履歴:
      5.8.2.2 (2014/12/19) ｱﾎﾟｽﾄﾛﾌｨの対応, 6.2.2.3 (2015/04/10) htmlﾌｨﾙﾀｰに、BR→改行処理機能を追加。, 6.2.5.0 (2015/06/05) htmlﾌｨﾙﾀｰで、BR→改行処理が、引数間違いの為うまくできていなかった。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### yenN2br

    public static String yenN2br(String input)
    ｢\n｣という文字列を、BRﾀｸﾞに変換します。 titleなどのTips表示する場合、改行は、｢\n｣で行います。 一方、ﾀｸﾞ等で改行を行うには、<BR/> で改行を指定します。 BRﾀｸﾞは、ﾘｿｰｽﾃｰﾌﾞﾙ等に書き込みにくい為、また、本当の改行ｺｰﾄﾞも 書き込みにくい為、改行については、｢\n｣文字列を指定する事で対応できるように 統一します。
    パラメータ:
      `input` - BR,\n変換前の文字列
    戻り値:
      変換後の文字列
    変更履歴:
      6.2.2.3 (2015/04/10) ｢\n｣という文字列を、BRﾀｸﾞに変換する処理を追加, 7.0.1.0 (2018/10/15) XHTML → HTML5 対応(空要素の、"／＞" 止めを、"＞" に変更します)。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### quoteFilter

    public static String quoteFilter(String input)
    JavaScript 等の引数でのｸｵｰﾄ文字をASCII変換します。 JavaScript の引数の値に、ﾀﾞﾌﾞﾙｸｵｰﾄ(")、ｼﾝｸﾞﾙｸｵｰﾄ(')が 含まれると、文字列を表す為に前後に指定しているｸｵｰﾄと混乱し、 ﾃﾞｰﾀを表現できないｹｰｽがあります。その場合には、ｸｵｰﾄ文字を ASCII文字に置き換える事で、指定の文字を渡すことが可能になります。 ここでは、引数文字列に、ﾀﾞﾌﾞﾙｸｵｰﾄ(")、ｼﾝｸﾞﾙｸｵｰﾄ(')が、 含まれると、それぞれ、ASCII ｺｰﾄﾞ(￥ｘ２２、￥ｘ２７)に置き換えます。 なお、null は、ｾﾞﾛ文字列に変換して返します。
    パラメータ:
      `input` - 入力文字列
    戻り値:
      ｸｵｰﾄ文字をASCII文字に置き換えた文字列
    このﾒｿｯﾄﾞは、nullを返しません

  - ### jsonFilter

    public static String jsonFilter(String input)
    JSON形式で出力する場合のためのｴｽｹｰﾌﾟ処理です。
    パラメータ:
      `input` - XMLｴｽｹｰﾌﾟ前の文字列
    戻り値:
      ｴｽｹｰﾌﾟ文字に変換後の文字列
    変更履歴:
      5.9.6.4 (2016/03/25) 新規作成

  - ### escapeFilter

    public static String escapeFilter(String input, String ignore)
    特殊文字のｴｽｹｰﾌﾟを元に戻す処理です。 元に戻すことで、htmlとして、使用します。 scriptﾀｸﾞは動作しないようにしています。 またignoreで指定したﾀｸﾞを除いて<にします。
    パラメータ:
      `input` - 特殊文字がｴｽｹｰﾌﾟされた文字列
      `ignore` - 指定したﾀｸﾞを除いて<にします
    戻り値:
      ｴｽｹｰﾌﾟ前の文字列
    変更履歴:
      5.9.33.0 (2018/06/01) 新規作成

  - ### deleteChar

    public static String deleteChar(String value, char ch)
    所定のｷｬﾗｸﾀｺｰﾄﾞを取り除いた文字列を作成します。 実現したい機能は、String#replace( 'x','' ) 的な表現です。 つまり、指定のｷｬﾗｸﾀを取り除きたいのですが、上記ｺﾏﾝﾄﾞでは、 ｺﾝﾊﾟｲﾙ時にｴﾗｰが発生します。 取り除きたいｷｬﾗｸﾀｺｰﾄﾞが存在しない場合は、指定の文字列を そのまま返します。
    パラメータ:
      `value` - 処理対象の文字列
      `ch` - 取り除きたいｷｬﾗｸﾀ
    戻り値:
      処理後の文字列

  - ### countChar

    public static int countChar(String value, char ch)
    文字列に含まれる、特定の文字の個数をｶｳﾝﾄして返します。
    パラメータ:
      `value` - 処理対象の文字列
      `ch` - ｶｳﾝﾄする文字
    戻り値:
      ｶｳﾝﾄ数
    変更履歴:
      5.2.0.0 (2010/09/01)

  - ### code39

    public static String code39(String value, boolean checkDigit)
    CODE39 の 文字列を作成します。 CODE39 は、『0～9, A～Z,-,･,　,$,/,+,%』のｺｰﾄﾞが使用できる ﾊﾞｰｺｰﾄﾞの体系です。通常 * で始まり * で終了します。 また、ﾁｪｯｸﾃﾞｼﾞｯﾄ に、ﾓｼﾞｭﾗｽ43 が使われます。 ここでは、指定の文字列の前後に、* を付与し、必要であれば ﾁｪｯｸﾃﾞｼﾞｯﾄも付与します。 指定の入力文字列には、* を付けないでください。
    パラメータ:
      `value` - 処理対象の文字列
      `checkDigit` - ﾁｪｯｸﾃﾞｼﾞｯﾄの付与(true:付ける/false:付けない)
    戻り値:
      処理後の文字列
    このﾒｿｯﾄﾞは、nullを返しません

  - ### nval

    public static String nval(String inStr, String def)
    引数 inStr が、null または、ｾﾞﾛ文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。 もちろん、inStr も def も null の場合は、null を返します。 ※ 影響範囲が大きいので、空白文字の判定は入れません。
    パラメータ:
      `inStr` - 基準となる文字列
      `def` - ﾃﾞﾌｫﾙﾄ文字列
    戻り値:
      引数 inStr が、null または、ｾﾞﾛ文字列の場合は、ﾃﾞﾌｫﾙﾄ値を返す。

  - ### nval

    public static int nval(String inStr, int def)
    引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。 数値変換なので、空白文字列の場合も、ﾃﾞﾌｫﾙﾄ値を使用します。
    パラメータ:
      `inStr` - 基準となる文字列
      `def` - ﾃﾞﾌｫﾙﾄ数字
    戻り値:
      引数 inStr を変換した数字(int)。変換できない場合は ﾃﾞﾌｫﾙﾄ値 def

  - ### nval

    public static long nval(String inStr, long def)
    引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
    パラメータ:
      `inStr` - 基準となる文字列
      `def` - ﾃﾞﾌｫﾙﾄ数字
    戻り値:
      引数 inStr を変換した数字(long)。変換できない場合は ﾃﾞﾌｫﾙﾄ値 def

  - ### nval

    public static double nval(String inStr, double def)
    引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。
    パラメータ:
      `inStr` - 基準となる文字列
      `def` - ﾃﾞﾌｫﾙﾄ数字
    戻り値:
      引数 inStr を変換した数字(double)。変換できない場合は ﾃﾞﾌｫﾙﾄ値 def
    変更履歴:
      6.9.2.1 (2018/03/12) 新規追加

  - ### nval

    public static boolean nval(String inStr, boolean def)
    引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。 通常は、"true" または、 "TRUE" 文字列を、論理値の true に変換します。 ただし、文字列長が 1文字の場合のみ、"0" 以外を true に変換します。
    パラメータ:
      `inStr` - 基準となる文字列
      `def` - ﾃﾞﾌｫﾙﾄ論理値
    戻り値:
      引数 inStr を変換した論理値。変換できない場合は ﾃﾞﾌｫﾙﾄ値 def
    変更履歴:
      6.8.0.1 (2017/06/30) つづり間違いに対応するため、厳密にﾁｪｯｸします。

  - ### nval

    public static String[] nval(String[] inStrs, String def)
    引数配列 inStrs の各文字列が 、null または、ｾﾞﾛ文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def をｾｯﾄします。 引数配列 inStrs がnullの場合は、そのままを返します。
    パラメータ:
      `inStrs` - 基準となる文字列配列
      `def` - ﾃﾞﾌｫﾙﾄ文字列
    戻り値:
      引数配列 inStrs(nullの場合は、nullを返す)
    変更履歴:
      8.4.1.0 (2023/02/10) 基準となる文字列配列のnval新規作成

  - ### nval2

    public static String nval2(String inStr, String def)
    引数 inStr が、null、"_"、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。 さらに、ﾒﾓﾘ領域を節約する為、intern() の結果を返します。 ※ #nval(String) との整合性を取るため、空白文字の判定は入れません。
    パラメータ:
      `inStr` - 基準となる文字列
      `def` - ﾃﾞﾌｫﾙﾄ文字列
    戻り値:
      null、ｾﾞﾛ文字列、"_"の場合は、ﾃﾞﾌｫﾙﾄ文字列を、そうでなければ、入力文字を返す。
    変更履歴:
      5.2.2.0 (2010/11/01) "_" の取り扱い変更

  - ### nval2

    public static String nval2(String inStr, String def, String def2)
    引数 inStr が、null または、ｾﾞﾛ文字列、空白文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。 ただし、NULL代替文字(_)は ﾃﾞﾌｫﾙﾄ値 def2 に置き換えます。 さらに、ﾒﾓﾘ領域を節約する為、intern() の結果を返します。 ※ #nval(String) との整合性を取るため、空白文字の判定は入れません。
    パラメータ:
      `inStr` - 基準となる文字列
      `def` - ﾃﾞﾌｫﾙﾄ文字列
      `def2` - NULL代替文字(_)の場合のﾃﾞﾌｫﾙﾄ文字列
    戻り値:
      null、ｾﾞﾛ文字列の場合は、def1文字列を、"_"の場合は、def2文字列を、そうでなければ、入力文字を返す。
    変更履歴:
      5.2.2.0 (2010/11/01) "_" の取り扱い変更

  - ### nvalCsv

    public static String nvalCsv(String strCsv, String def)
    引数の CSV形式文字列 が、null または、ｾﾞﾛ文字列の場合は、ﾃﾞﾌｫﾙﾄ値 def を返します。 それ以外の場合は、CSV形式の文字列を正規化します。 正規化とは、ｶﾝﾏで区切った後、trim() して、ｾﾞﾛ文字列でない場合のみｶﾝﾏで再結合します。
    パラメータ:
      `strCsv` - 基準となるCSV形式文字列
      `def` - ﾃﾞﾌｫﾙﾄ文字列
    戻り値:
      引数の CSV形式文字列 が、null または、ｾﾞﾛ文字列の場合は、ﾃﾞﾌｫﾙﾄ値を返す。
    変更履歴:
      7.0.5.0 (2019/09/09) 新規追加

  - ### nvalAdd

    public static String nvalAdd(CharSequence... strs)
    指定のCharSequence同士を連結させます。 CharSequenceが、 null の場合は、連結しません。 すべてが null の場合は、ｾﾞﾛ文字列が返されます。 ここでは、空白文字やﾀﾌﾞ、改行ｺｰﾄﾞも、指定されていれば、連結されます。
    パラメータ:
      `strs` - ... 可変長CharSequence
    戻り値:
      null以外の文字列が連結された状態
    関連項目:
      - `join(String,CharSequence...)`
    変更履歴:
      6.0.2.4 (2014/10/17) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
    このﾒｿｯﾄﾞは、nullを返しません

  - ### coalesce

    public static String coalesce(CharSequence... strs)
    最初の null(または、ｾﾞﾛ文字列、空白文字、ﾀﾌﾞや改行ｺｰﾄﾞ) 以外の値を返します。 nval の 変数が、無制限版です。 すべてが null(または、ｾﾞﾛ文字列) の場合は、null が返されます。 // * 空白文字、ﾀﾌﾞや改行ｺｰﾄﾞが来ても、返されます。
    パラメータ:
      `strs` - ... 可変長CharSequence
    戻り値:
      最初に現れた、null以外のCharSequenceを、Stringに変換したもの
    変更履歴:
      6.0.2.4 (2014/10/17) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更, 6.9.7.0 (2018/05/14) ﾀﾌﾞや空白文字も null系と判断。

  - ### contains

    public static boolean contains(String key, String... vals)
    ｷｰﾜｰﾄﾞに対して、可変長引数の文字列が、含まれているかどうかを判定します。 ｷｰﾜｰﾄﾞが、null でなく、比較先の文字列が、ひとつでも含まれると、true が返ります。 大文字小文字は、厳密に判定されます。 key != null && ( key.contains( val1 ) || key.contains( val2 ) ･･･ ) の結果と同じです。
    パラメータ:
      `key` - ｷｰﾜｰﾄﾞ
      `vals` - ... 比較先の可変長文字列(OR判定)
    戻り値:
      ｷｰﾜｰﾄﾞ文字列の中に、比較先文字列がひとつでも含まれると、true
    変更履歴:
      6.4.4.2 (2016/04/01) contains 判定を行う新しいﾒｿｯﾄﾞを新規追加します。

  - ### join

    public static String join(String delimiter, CharSequence... vals)
    連結文字列を使用して、可変長引数のCharSequenceを連結して返します。 連結文字列(delimiter)が、null の場合は、CharSequenceをそのまま連結(nvalAdd)していきます。 連結する文字列が null の場合は、連結しません。 連結文字列は、一番最後は出力されません。 処理できない場合は、長さｾﾞﾛの文字列を返します。
    パラメータ:
      `delimiter` - 連結文字列
      `vals` - ... 連結するCharSequence
    戻り値:
      連結された結果の文字列
    関連項目:
      - `nvalAdd(CharSequence...)`
    変更履歴:
      6.4.4.2 (2016/04/01) join 処理を行う新しいﾒｿｯﾄﾞを新規追加します。, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
    このﾒｿｯﾄﾞは、nullを返しません

  - ### isEmpty

    public static boolean isEmpty(CharSequence... vals)
    引数 vals が、一つでも、null または、ｾﾞﾛ文字列の場合は、true を返します。 それ以外は false を返します。 isNull との違いは、ｽﾍﾟｰｽやﾀﾌﾞ、改行だけの文字列は、null と判定しません。 文字列置換などで、ｽﾍﾟｰｽやﾀﾌﾞなどと置換する場合、null やｾﾞﾛ文字列では困る場合などの 判定で使用します。
    パラメータ:
      `vals` - 判定するCharSequence(可変長引数)
    戻り値:
      NULL文字列関係の場合は、true を、そうでなければ、false を返す。
    関連項目:
      - `isNull(CharSequence...)`
    変更履歴:
      6.9.2.1 (2018/03/12) 新規追加

  - ### isNull

    public static boolean isNull(CharSequence... vals)
    引数 vals が、一つでも、null または、ｾﾞﾛ文字列、またはすべて空白文字(ｽﾍﾟｰｽ、ﾀﾌﾞ、改行)の場合は、true を返します。 それ以外は false を返します。 isEmpty との違いは、判定前に、trim() 処理を行っているため、ｽﾍﾟｰｽやﾀﾌﾞ、改行だけの文字列も、null と判定します。 ｷｰﾜｰﾄﾞとして使用できないｹｰｽで、この判定を利用します。 また、引数は可変長になっており、指定の｢どれか｣が、成立すれば、true と判定します。 処理的には、 val1 == null || val1.trim().length()==0 || val2 == null || val2.trim().length()==0 ･･･ CharSequence 系の配列自体の null ﾁｪｯｸも兼ねています。 注意は、ｵｰﾙｽﾍﾟｰｽやﾀﾌﾞ文字、改行文字も true になります。
    パラメータ:
      `vals` - 判定するCharSequence(可変長引数)
    戻り値:
      NULL文字列関係の場合は、true を、そうでなければ、false を返す。
    関連項目:
      - `isNotNull(CharSequence...)`
    変更履歴:
      6.4.5.0 (2016/04/08) 引数をCharSequenceに変更, 6.9.0.0 (2018/01/31) 引数を可変長引数に変更, 6.9.2.1 (2018/03/12) 新規追加

  - ### isNotNull

    public static boolean isNotNull(CharSequence... vals)
    引数 vals が、すべて、null または、ｾﾞﾛ文字列、またはすべて空白文字(ｽﾍﾟｰｽ、ﾀﾌﾞ、改行)でない場合は、true を返します。 #isNull( CharSequence... ) の反転です。 そのため、｢すべて｣の文字列が、null か、ｾﾞﾛ文字、空白文字でない場合のみ、true になります。 isNull の表示上、'!' ﾏｰｸのあるなしは、判別しにくいため、ﾒｿｯﾄﾞを用意しています。
    パラメータ:
      `vals` - 判定するCharSequence(可変長引数)
    戻り値:
      NULL文字列関係でない場合は、true を、｢どれか｣が、NULL文字列関係の場合は、false を返す。
    関連項目:
      - `isNull(CharSequence...)`
    変更履歴:
      6.9.2.1 (2018/03/12) 新規追加

  - ### numberFormat

    public static String numberFormat(String inStr, int minFraction)
    浮動小数点数について、ｶﾝﾏ編集を行います。 このﾒｿｯﾄﾞでは、1.23 E12 などの数字は扱いません。通常の 数字とﾋﾟﾘｵﾄﾞで構成された文字列のみ、変換対象になります。 (ただし、不正な文字列を与えてもｴﾗｰﾁｪｯｸはしていません。) minFraction には、小数点部に与える固定値を指定します。入力文字列が その桁数より少ない場合は、０埋めします。 多い場合は、四捨五入します。 minFraction が 0 の場合は、小数点は付きません。 ".12" などの小数点は、必ず先頭に 0 が付きます。 入力文字列が null か、ｾﾞﾛ文字列時は、そのまま入力ﾃﾞｰﾀを返します。

                DecimalFormat format = new DecimalFormat( "#,##0.00########" );
                double dd = Double.parseDouble( val );
                return format.format( dd );

    に対して、minFraction分の小数以下のｾﾞﾛの指定と、inに ',' が 含まれた処理を追加した感じになります。
    パラメータ:
      `inStr` - 変換元の文字列
      `minFraction` - 変換時の小数点以下の固定桁数
    戻り値:
      ｶﾝﾏ編集後の数字型文字列
    変更履歴:
      4.0.0.0 (2007/10/26) 空白のﾄﾘﾑ処理を追加, 6.0.4.0 (2014/11/28) 小数点指定が、0 の場合、小数点以下は表示しない, 6.2.0.0 (2015/02/27) 小数点指定の精度に合わせるのと、内部ﾛｼﾞｯｸ完全置換, 6.2.0.1 (2015/03/06) 互換性の関係で、nullかｾﾞﾛ文字列の時は、そのまま、in を返す。, 6.3.6.1 (2015/08/28) throw new OgRuntimeException するのではなく、System.err.println する。, 6.3.8.5 (2015/10/16) ogErrMsgPrint 使用。, 6.4.2.0 (2016/01/29) ogErrMsgPrint ﾒｿｯﾄﾞを、ThrowUtil ｸﾗｽに移動のため、修正

  - ### newInstance

    public static Object newInstance(String cls)
    指定されたｸﾗｽﾛｰﾀﾞを使って、識別id に応じた ｵﾌﾞｼﾞｪｸﾄを作成します。 作成するには、ﾃﾞﾌｫﾙﾄｺﾝｽﾄﾗｸﾀｰが必要です。 initialize ﾊﾟﾗﾒｰﾀは true 相当(それまでに初期化されていない場合だけ初期化)です。
    パラメータ:
      `cls` - 作成するｸﾗｽのﾌﾙﾈｰﾑ
    戻り値:
      ｵﾌﾞｼﾞｪｸﾄ
    例外:
      `RuntimeException` - 何らかのｴﾗｰが発生した場合
    変更履歴:
      6.4.3.3 (2016/03/04) ﾘﾌﾚｸｼｮﾝ系の例外の共通ｸﾗｽに置き換えます。, 6.8.2.3 (2017/11/10) java9対応(cls.newInstance() → cls.getDeclaredConstructor().newInstance()), 7.2.5.0 (2020/06/01) ClassLoaderを引数にするnewInstanceﾒｿｯﾄﾞを廃止します。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### urlAppend

    public static String urlAppend(CharSequence url1, CharSequence... urls)
    指定のURL文字列同士を連結させます。 そのとき、後方URLが、絶対ﾊﾟｽの場合は、連結せず 後方URLを返します。 第２引数以降は、絶対ﾊﾟｽ判定をせず直前のURLの末尾判定のみで連結します。 絶対ﾊﾟｽかどうかは、通常のﾌｧｲﾙ属性と同様に、先頭が、'/' (UNIX)または、 ２文字目が、":" (Windows)の場合、または、先頭が "\" (ﾈｯﾄﾜｰｸﾊﾟｽ)で 始まる場合で判断します。 連結時に、前方URLの末尾に "/" を付加します。 処理の互換性確保のため、第３引数の可変長引数を追加しています。
    パラメータ:
      `url1` - 先頭URLCharSequence
      `urls` - 後方URL可変長CharSequence(絶対ﾊﾟｽの場合は、返り値)
    戻り値:
      URL文字列同士の連結結果 url1 + url2(url2が絶対ﾊﾟｽの場合は、url2から連結開始)
    変更履歴:
      5.0.0.1 (2009/08/15) 不要なｵﾌﾞｼﾞｪｸﾄの生成を抑制する。, 5.6.5.2 (2013/06/21) 第３引数を可変長引数に変更, 6.4.5.0 (2016/04/08) 引数をCharSequenceに変更, 6.4.7.2 (2016/06/20) 絶対ﾊﾟｽの判定を、可変長URLにも適用する。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getUnicodeEscape

    public static String getUnicodeEscape(CharSequence value)
    Unicode文字列の値を HTML のｴｽｹｰﾌﾟ記号(&#xZZZZ;)に変換します。 SJIS(JA16SJIS) で作成されたﾃﾞｰﾀﾍﾞｰｽに、(NVARCHAR2)を使用して中国語等を登録するのは 非常に複雑でかつ、ﾘｽｸが大きい処理になります。 ORACLE殿でも、自信を持っては勧められない機能とのｺﾒﾝﾄを頂いています。 そこで、HTMLでのｴｽｹｰﾌﾟ文字を使用して、Unicodeを文字列化して登録する為の DBType として、新規に作成します。 ここでは、入力文字を、ｷｬﾗｸﾀ(char)型に分解し、(&#xZZZZ;)に変換していきます。 よって、通常に1文字(Shift-JISで２Byte,UTF-8で３Byte)が、８Byteになります。 この変換された文字列を、HTML上でそのまま取り出すと、元のUnicode文字に戻る為、 通常のShift-JISでは、扱えない文字(中国語など)でも表示可能になります。 ここでは、2ﾊﾞｲﾄ文字のみ、変換しています。
    パラメータ:
      `value` - 変換前のCharSequence
    戻り値:
      HTMLのｴｽｹｰﾌﾟ記号(&#xZZZZ;)
    変更履歴:
      6.4.5.0 (2016/04/08) 引数をCharSequenceに変更
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getReplaceEscape

    public static String getReplaceEscape(String value)
    HTML のｴｽｹｰﾌﾟ記号(&#xZZZZ;)をUnicode文字列に戻します。 HTMLでのｴｽｹｰﾌﾟ文字を使用して登録された文字を、Unicodeに戻します。 (&#xZZZZ;)の８Byteを、もとのｷｬﾗｸﾀｺｰﾄﾞに戻し、合成します。 ここでは、通常の文字列に混在したｴｽｹｰﾌﾟ文字も戻せるようにします。
    パラメータ:
      `value` - HTMLのｴｽｹｰﾌﾟ記号(&#xZZZZ;)を含む文字列
    戻り値:
      通常のUnicode文字列
    変更履歴:
      5.9.5.3 (2016/02/26) 無限ﾙｰﾌﾟ対応
    このﾒｿｯﾄﾞは、nullを返しません

  - ### parseDouble

    public static double parseDouble(String value)
    文字列をdoubleに変換します。 これは、Double.parseDouble( value ) と、ほぼ同じ動作を行います。 内部的には、引数の ｶﾝﾏ(,) を削除した文字列を、Double.parseDouble( value ) に渡します。 また、引数が、null,ｾﾞﾛ文字列,'_' の時には、0.0 を返します。
    パラメータ:
      `value` - doubleに変換する元の文字列
    戻り値:
      変換後のdouble数値
    変更履歴:
      6.3.9.0 (2015/11/06) もう少し判りやすくする。(処理速度は落ちてます。)

  - ### spanCut

    public static String spanCut(String data)
    引数からspanﾀｸﾞを取り除いて返します。 引数が、<span ･･･>YYYY</span>形式の場合、YYYY のみ出力します。 この処理では、先頭にspan が一つだけある場合、削除します。 複数の span や、div などを削除する場合は、#tagCut(String) ﾒｿｯﾄﾞで処理します。
    パラメータ:
      `data` - 元のString文字列
    戻り値:
      spanﾀｸﾞが取り除かれた文字列(引数が null の場合は、そのまま null が返ります)
    関連項目:
      - `tagCut(String)`
    変更履歴:
      4.3.4.3 (2008/12/22) TableWriterで利用していたものを移動

  - ### tagCut

    public static String tagCut(String data)
    引数からﾀｸﾞを取り除いて返します。 引数が、<xxxx ･･･>YYYY</xxxx>形式の場合、YYYY のみ出力します。 この処理では、すべてのﾀｸﾞを削除し、BODY部をつなげます。 <xxxx/> の様な、BODY要素を持たない場合は、ｾﾞﾛ文字列になります。
    パラメータ:
      `data` - 元のString文字列
    戻り値:
      ﾀｸﾞが取り除かれた文字列(引数が null の場合は、そのまま null が返ります)
    変更履歴:
      6.2.0.0 (2015/02/27) 引数からﾀｸﾞを削除し、BODY文字列を切り出します。

  - ### cssParse

    public static ConcurrentMap<String,String> cssParse(String cssText)
    簡易CSS形式のﾌｫｰﾏｯﾄを、Mapにｾｯﾄします。 簡易CSS形式とは、ｾﾚｸﾀのない、{ ﾌﾟﾛﾊﾟﾃｨ1 : 値1 ; ･･･ } 形式とします。 これを、ﾌﾟﾛﾊﾟﾃｨ1 と 値1 のMap にｾｯﾄする処理を行います。 ﾌﾞﾛｯｸｺﾒﾝﾄは、削除されます。ﾗｲﾝｺﾒﾝﾄは使えません。 また、同一ﾌﾟﾛﾊﾟﾃｨが記述されている場合は、後処理を採用します。 なお、入力ﾃｷｽﾄが、null か、{…} が存在しない場合は、空のMapを返します。
    パラメータ:
      `cssText` - 簡易CSS形式のﾌｫｰﾏｯﾄ文字列
    戻り値:
      ﾊﾟｰｽ結果のMap(ConcurrentMap)
    例外:
      `OgRuntimeException` - 簡易CSS形式のﾌｫｰﾏｯﾄの整合性不良の時
    変更履歴:
      5.6.5.2 (2013/06/21) 新規追加, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。, 6.4.3.3 (2016/03/04) 戻すMapが、not null制限つきであることを示すため、ConcurrentMap に置き換えます。, 8.0.0.0 (2021/09/30) CSS形式の整合性ﾁｪｯｸを行います。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### startsChar

    public static boolean startsChar(CharSequence data, char ch)
    引数の文字列が、引数の char で始まるかどうか判定します[始まる場合は、true]。 これは、PMDで言う所の、String.startsWith can be rewritten using String.charAt(0) の書き換え処理に相当します。 boolean flag = data != null && data.startsWith( chStr ); 的な処理を、 boolean flag = data != null && data.length() > 0 && data.charAt(0) == ch; に書き換える代わりに、このﾒｿｯﾄﾞを使用します。 内部ﾛｼﾞｯｸは、上記の相当します。
    パラメータ:
      `data` - 引数のCharSequence
      `ch` - ﾁｪｯｸするchar
    戻り値:
      引数文字列が、nullでなく、ｾﾞﾛ文字列でなく、引数char で始まる場合は、true
    関連項目:
      - `String.startsWith(String)`
    変更履歴:
      6.2.0.0 (2015/02/27) 1文字 String.startsWith の String.charAt(0) 変換, 6.4.5.0 (2016/04/08) 引数をCharSequenceに変更

  - ### cut

    public static String cut(String org, int cutBytes, String enc)
    引数から指定文字の分のﾊﾞｲﾄ数で切った文字列を返します。 文字列のﾊﾞｲﾄ数は指定のｴﾝｺｰﾄﾞでｶｳﾝﾄします。 （文字の途中で切れる事はありません）
    パラメータ:
      `org` - 元のString文字列
      `cutBytes` - 切るﾊﾞｲﾄ数
      `enc` - 文字列のｴﾝｺｰﾄﾞ
    戻り値:
      ﾊﾞｲﾄ数で切った文字列
    変更履歴:
      5.9.1.3 (2015/10/30) 新規作成, 6.4.2.0 (2016/01/29) StringUtil#ogStackTrace(Throwable) を、ThrowUtil##ogStackTrace(Throwable) に変更。

  - ### cut

    public static String cut(String org, int cutBytes)
    引数から指定文字の分のﾊﾞｲﾄ数で切った文字列を返します。 ﾊﾞｲﾄ数のｶｳﾝﾄはUTF-8として行います。
    パラメータ:
      `org` - 元のString文字列
      `cutBytes` - 切るﾊﾞｲﾄ数
    戻り値:
      ﾊﾞｲﾄ数で切った文字列
    変更履歴:
      5.9.1.3 (2015/10/30) 新規作成

  - ### splitStartEnd

    public static String splitStartEnd(String org, String stStr, String edStr, Consumer<String> cons)
    元の引数から開始文字列と終了文字列の間の文字列と、残りを連結した文字列を生成します。 戻り値は、連結した文字列で、切り取った間の文字列は、関数型ｲﾝﾀﾌｪｰｽの引数に設定されます。 なお、文字列の切り出しは、1度だけです。最初に見つかった、開始文字列と、その次に見つかった 終了文字列の間を切り取って、前後を連結するだけです。 元の文字列が、nullの場合は、return null で、関数I/Fは call されません。 元の文字列に、stStr(開始文字列)が含まれない/またはnullの場合は、return 元の文字列で、関数I/Fは call されません。 元の文字列に、stStr(開始文字列)が含まれ、edStr(終了文字列)が含まれない場合は、return 開始文字列以前と、(v) -> 開始文字列以降 をcallします。 元の文字列に、stStrもedStrも含む場合は、それらの間の文字列を削除(stStr,edStr含む)と、その間の文字列を引数に、 return 連結した文字列と、(v) -> 切り取った間の文字列 をcallします。 上記の場合、間の文字列が存在しない場合は、空文字列になります。 stStr(開始文字列)とed(終了文字列)に関しては、trim() して、前後の空欄は削除します。 例） splitStartEnd( "abc class= XYZ ; efg" , "class=" , ";" , v -> call(v) ); return "abc efg" call "XYZ" 例） splitStartEnd( "abc class= XYZ efg" , "class=" , ";" , v -> call(v) ); return "abc " call "XYZ efg" 例） splitStartEnd( "abc style= XYZ ; efg" , "class=" , ";" , v -> call(v) ); return "abc style= XYZ ; efg" call 実行されない(nullだから)
    パラメータ:
      `org` - 元のString文字列(nullも可)
      `stStr` - 開始文字列
      `edStr` - 終了文字列
      `cons` - 関数型ｲﾝﾀﾌｪｰｽで、切り取った文字列を引数に呼び出されます。
    戻り値:
      削除後連結文字列と切り出した文字列の配列(必ず 2個の配列を返す)
    変更履歴:
      8.0.0.2 (2021/10/15) 新規作成

  - ### convertToOiginal

    public static String convertToOiginal(String unicode)
    Unicode文字列から元の文字列に変換します。(例："￥u3042" → "あ")
    パラメータ:
      `unicode` - Unicode文字列("あ")
    戻り値:
      通常の文字列
    変更履歴:
      8.0.2.0 (2021/11/30) 新規作成