パッケージ 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(String... strs)
    最初の null(または、ゼロ文字列、空白文字、タブや改行コード) 以外の値を返します。
    static String
    code39(String value, boolean checkDigit)
    CODE39 の 文字列を作成します。
    static boolean
    contains(String key, String... vals)
    キーワードに対して、可変長引数の文字列が、含まれているかどうかを判定します。
    static String
    Unicode文字列から元の文字列に変換します。
    static int
    countChar(String value, char ch)
    文字列に含まれる、特定の文字の個数をカウントして返します。
    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[]
    区切り文字で連結された String を、配列に分解して、その値を返します。
    static String[]
    csv2ArrayOnly(String csvData, char separator)
    区切り文字で連結された String を、配列に分解して、その値を返します。
    static String
    文字列の前後のダブルクオートを取り外します。
    static String
    cut(String org, int cutBytes)
    引数から指定文字の分のバイト数で切った文字列を返します。
    static String
    cut(String org, int cutBytes, String enc)
    引数から指定文字の分のバイト数で切った文字列を返します。
    static String
    deleteChar(String value, char delCh)
    所定のキャラクタコードを取り除いた文字列を作成します。
    static Object[]
    Enumerationから、オブジェクト配列データを返します。
    static Object[]
    enume2Array(Enumeration<?> enume, Object[] objs)
    Enumerationから、オブジェクト配列データを返します。
    static String
    escapeFilter(String input, String ignore)
    特殊文字のエスケープを元に戻す処理です。
    static String
    HTML のエスケープ記号(&#xZZZZ;)をUnicode文字列に戻します。
    static String
    Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換します。
    static String
    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
    引数 val が、null または、ゼロ文字列の場合は、true を返します。
    static boolean
    引数 vals が、一つでも、null または、ゼロ文字列の場合は、true を返します。
    static boolean
    引数 val が、null または、ゼロ文字列、またはすべて空白文字(スペース、タブ、改行)の場合は、false を返します。
    static boolean
    引数 val が、null または、ゼロ文字列、またはすべて空白文字(スペース、タブ、改行)の場合は、true を返します。
    static boolean
    isNull(String val1, String val2)
    引数 val1,val2 が、一つでも、null または、ゼロ文字列、またはすべて空白文字(スペース、タブ、改行)の場合は、true を返します。
    static String
    iterator2line(Iterator<?> ite, String separator)
    Iteratorから、セパレーターで連結されたString を作成します。
    static String
    join(String delimiter, CharSequence... vals)
    連結文字列を使用して、可変長引数のCharSequenceを連結して返します。
    static String
    JSON形式で出力する場合のためのエスケープ処理です。
    static String
    lTrim0(String inStr)
    文字列の前方のゼロ(0)を削除します。
    static byte[]
    makeByte(String value, String encode)
    指定の文字列をバイトコードに変換します。
    static String
    makeString(byte[] byteValue, int start, int length, String encode)
    内部で使われる byte[] から String 生成 メソッド。
    static Object
    指定されたクラスローダを使って、識別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
    指定のCharSequence同士を連結させます。
    static String
    nvalCsv(String strCsv, String def)
    引数の CSV形式文字列 が、null または、ゼロ文字列の場合は、デフォルト値 def を返します。
    static double
    文字列をdoubleに変換します。
    static String
    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
    文字列の後ろのスペースを削除します。
    static String
    rTrim(String str, char chr)
    文字列の後ろから、指定の文字を削除します。
    static String[]
    rTrims(String... str)
    文字列配列の各要素の後ろのスペースを削除します。
    static String
    引数から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
    先頭と末尾の "0" が削除された文字列を返します また、先頭が "."
    static String
    文字列の後ろから、" .0" の文字を削除した数字型文字列を返します。
    static String
    urlAppend(String url1, String... urls)
    指定のURL文字列同士を連結させます。
    static String
    UTF-8 でURLエンコードされた文字列をデコードします。
    static String
    UTF-8 で、URLエンコードを行います。
    static String
    UTF-8 で、ASCII以外の文字の、URLエンコードします。
    static String
    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 - エンコードする文字列
      戻り値:
      指定の文字コードでURLエンコードされた文字列
      関連項目:
      このメソッドは、nullを返しません
    • urlEncode2

      public static String urlEncode2(String value)
      UTF-8 で、ASCII以外の文字の、URLエンコードします。 00 ~ 7F までのコードは、変換しません。 これは、日本語ファイル名の直リンクなど、URLエンコードが必要ですが、 http:// などのURL の場合は、':' , '/' は、エンコードしたくありません。 また、openGion では、[カラム] などの特殊な変数を渡して、処理させているので それらのキーワードも変換してほしくありません。 ただし、"%" と ";" は変換します。
      パラメータ:
      value - エンコードする文字列
      戻り値:
      指定の文字コードでURLエンコードされた文字列(ASCII は省く)
      関連項目:
      変更履歴:
      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)
      文字列の前方のゼロ(0)を削除します。 先頭の0を削除するまえに、trim して、スペースを削除しておきます。 すべてがゼロ(0)の場合は、"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 - 元の文字列配列(可変長引数)
      戻り値:
      後ろの半角スペースを詰めた、新しい文字列配列
    • toDecimal

      public static String toDecimal(String str)
      先頭と末尾の "0" が削除された文字列を返します また、先頭が "." で始まる場合は、"0" が追加されます。 例: "123.00" ⇒ "123" , ".123" ⇒ "0.123" , "00123" ⇒ "123"
      パラメータ:
      str - 元の文字列
      戻り値:
      数字文字列化された、新しい文字列
      変更履歴:
      8.5.4.2 (2024/02/02) 新規作成
    • 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 が使える箇所は、置き換えます。, 8.5.4.2 (2024/01/12) PMD 7.0.0 ShortVariable
    • 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 が、負の数か、元の文字数がフォームより長い場合、エラー
      関連項目:
      このメソッドは、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 が、負の数の場合、エラー
      関連項目:
      変更履歴:
      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を返す。
      変更履歴:
      8.5.4.2 (2024/01/12) PMD 7.0.0 ShortVariable
    • 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桁 )
      戻り値:
      小数点のフォーム文字列
      このメソッドは、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() しないように変更, 8.5.4.2 (2024/01/12) PMD 7.0.0 ShortVariable
      このメソッドは、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 と異なり、連続した区切り文字は、分割せずにトークンのみ切り出します。 区切り文字は、","(カンマ)です。 前後のスペースを削除します。
      パラメータ:
      csvData - 元のデータ
      戻り値:
      文字列配列
      変更履歴:
      8.5.0.0 (2023/04/21) StringTokenizer をやめて、CSVTokenizer に統一
      このメソッドは、nullを返しません
    • csv2ArrayOnly

      public static String[] csv2ArrayOnly(String csvData, char separator)
      区切り文字で連結された String を、配列に分解して、その値を返します。 たとえば、AAA,BBB,CCC などのリソースデータを受けてから配列に入れ直して、 メニューなりリストを作成するのに便利です。 csv2Array と異なり、連続した区切り文字は、分割せずにトークンのみ切り出します。 前後のスペースを削除します。
      パラメータ:
      csvData - 元のデータ(Emptyデータは考えません)
      separator - 区切り文字
      戻り値:
      文字列配列
      変更履歴:
      8.5.0.0 (2023/04/21) StringTokenizer をやめて、CSVTokenizer に統一, 8.5.6.1 (2024/03/29) nullチェック漏れを対応
      このメソッドは、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→改行処理が、引数間違いの為うまくできていなかった。, 8.5.5.1 (2024/02/29) switch文にアロー構文を使用
      このメソッドは、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 コード(¥x22、¥x27)に置き換えます。 なお、null は、ゼロ文字列に変換して返します。
      パラメータ:
      input - 入力文字列
      戻り値:
      クオート文字をASCII文字に置き換えた文字列
      変更履歴:
      8.5.5.1 (2024/02/29) switch文にアロー構文を使用
      このメソッドは、nullを返しません
    • jsonFilter

      public static String jsonFilter(String input)
      JSON形式で出力する場合のためのエスケープ処理です。
      パラメータ:
      input - XMLエスケープ前の文字列
      戻り値:
      エスケープ文字に変換後の文字列
      変更履歴:
      5.9.6.4 (2016/03/25) 新規作成, 8.5.5.1 (2024/02/29) switch文にアロー構文を使用
    • 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 delCh)
      所定のキャラクタコードを取り除いた文字列を作成します。 実現したい機能は、String#replace( 'x','' ) 的な表現です。 つまり、指定のキャラクタを取り除きたいのですが、上記コマンドでは、 コンパイル時にエラーが発生します。 取り除きたいキャラクタコードが存在しない場合は、指定の文字列を そのまま返します。
      パラメータ:
      value - 処理対象の文字列
      delCh - 取り除きたいキャラクタ
      戻り値:
      処理後の文字列
      変更履歴:
      8.5.4.2 (2024/01/12) PMD 7.0.0 ShortVariable, 8.5.4.2 (2024/01/12) PMD 7.0.0 ForLoopCanBeForeach
    • 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 を返します。 数値変換なので、空白文字列の場合も、デフォルト値を使用します。 8.5.5.1 (2024/02/29) より、Integer.parseInt のエラー時には、デフォルト値を返します。
      パラメータ:
      inStr - 基準となる文字列
      def - デフォルト数字
      戻り値:
      引数 inStr を変換した数字(int)。変換できない場合は デフォルト値 def
      変更履歴:
      8.5.5.1 (2024/02/29) Integer.parseInt のエラー時には、デフォルト値を返します。
    • nval

      public static long nval(String inStr, long def)
      引数 inStr が、null または、ゼロ文字列、空白文字列の場合は、デフォルト値 def を返します。 8.5.5.1 (2024/02/29) より、Long.parseLong のエラー時には、デフォルト値を返します。
      パラメータ:
      inStr - 基準となる文字列
      def - デフォルト数字
      戻り値:
      引数 inStr を変換した数字(long)。変換できない場合は デフォルト値 def
      変更履歴:
      8.5.5.1 (2024/02/29) Long.parseLong のエラー時には、デフォルト値を返します。
    • nval

      public static double nval(String inStr, double def)
      引数 inStr が、null または、ゼロ文字列、空白文字列の場合は、デフォルト値 def を返します。 8.5.5.1 (2024/02/29) より、Double.parseDouble のエラー時には、デフォルト値を返します。
      パラメータ:
      inStr - 基準となる文字列
      def - デフォルト数字
      戻り値:
      引数 inStr を変換した数字(double)。変換できない場合は デフォルト値 def
      変更履歴:
      6.9.2.1 (2018/03/12) 新規追加, 8.5.5.1 (2024/02/29) Double.parseDouble のエラー時には、デフォルト値を返します。
    • 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以外の文字列が連結された状態
      関連項目:
      変更履歴:
      6.0.2.4 (2014/10/17) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
      このメソッドは、nullを返しません
    • coalesce

      public static String coalesce(String... strs)
      最初の null(または、ゼロ文字列、空白文字、タブや改行コード) 以外の値を返します。 nval の 変数が、無制限版です。 すべてが null(または、ゼロ文字列) の場合は、null が返されます。 // * 空白文字、タブや改行コードが来ても、返されます。
      パラメータ:
      strs - ... 可変長String
      戻り値:
      最初に現れた、null、空文字列、全空白文字列 以外のString
      変更履歴:
      6.0.2.4 (2014/10/17) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更, 6.9.7.0 (2018/05/14) タブや空白文字も null系と判断。, 8.5.4.2 (2024/01/12) isNull の引数を String に変更したための変更
    • 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
      戻り値:
      連結された結果の文字列
      関連項目:
      変更履歴:
      6.4.4.2 (2016/04/01) join 処理を行う新しいメソッドを新規追加します。, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
      このメソッドは、nullを返しません
    • isEmpty

      public static boolean isEmpty(CharSequence val)
      引数 val が、null または、ゼロ文字列の場合は、true を返します。 それ以外は false を返します。 isNull との違いは、スペースやタブ、改行だけの文字列は、null と判定しません。 CharSequence.isEmpty() で、null 判定できないためのサポートメソッドです。
      パラメータ:
      val - 判定するCharSequence
      戻り値:
      nullか、val.isEmpty() == true の場合、true を返します。
      関連項目:
      変更履歴:
      8.5.4.2 (2024/01/12) 可変長引数廃止
    • isEmpty

      public static boolean isEmpty(CharSequence... vals)
      引数 vals が、一つでも、null または、ゼロ文字列の場合は、true を返します。 それ以外は false を返します。 isNull との違いは、スペースやタブ、改行だけの文字列は、null と判定しません。 文字列置換などで、スペースやタブなどと置換する場合、null やゼロ文字列では困る場合などの 判定で使用します。
      パラメータ:
      vals - 判定するCharSequence(可変長引数)
      戻り値:
      NULL文字列関係の場合は、true を、そうでなければ、false を返す。
      関連項目:
      変更履歴:
      6.9.2.1 (2018/03/12) 新規追加, 8.5.4.2 (2024/01/12) 内部処理を見直し
    • isNull

      public static boolean isNull(String val)
      引数 val が、null または、ゼロ文字列、またはすべて空白文字(スペース、タブ、改行)の場合は、true を返します。 それ以外は false を返します。 String.isBlank() で、null 判定できないためのサポートメソッドです。 処理的には、val == null || val.isBlank() と同等の結果を返します。
      パラメータ:
      val - 判定するString
      戻り値:
      nullか、val.isBlank() == true の場合、true を返します。
      関連項目:
      変更履歴:
      8.5.4.2 (2024/01/12) 可変長引数廃止
    • isNull

      public static boolean isNull(String val1, String val2)
      引数 val1,val2 が、一つでも、null または、ゼロ文字列、またはすべて空白文字(スペース、タブ、改行)の場合は、true を返します。 それ以外は false を返します。 つまり、StringUtil.isNull(val1) || StringUtil.isNull(val2) と同等になります。
      パラメータ:
      val1 - 判定するString1
      val2 - 判定するString2
      戻り値:
      どちらかが、null または、ゼロ文字列、またはすべて空白文字(スペース、タブ、改行)の場合は、true
      関連項目:
      変更履歴:
      6.4.5.0 (2016/04/08) 引数をCharSequenceに変更, 6.9.0.0 (2018/01/31) 引数を可変長引数に変更, 6.9.2.1 (2018/03/12) 新規追加, 8.5.4.2 (2024/01/12) 可変長引数廃止
    • isNotNull

      public static boolean isNotNull(String val)
      引数 val が、null または、ゼロ文字列、またはすべて空白文字(スペース、タブ、改行)の場合は、false を返します。 それ以外は true を返します。 つまり、#isNull(String) の完全な反転結果を返します。 isNull の表示上、'!' マークのあるなしは、目視で判別しにくいため、専用メソッドを用意しています。
      パラメータ:
      val - 判定するString
      戻り値:
      nullか、val.isBlank() == true の場合、true を返します。
      関連項目:
      変更履歴:
      8.5.4.2 (2024/01/12) 可変長引数廃止
    • numberFormat

      public static String numberFormat(String inStr, int minFraction)
      浮動小数点数について、カンマ編集を行います。 このメソッドでは、1.23 E12 などの数字は扱いません。通常の 数字とピリオドで構成された文字列のみ、変換対象になります。 (ただし、不正な文字列を与えてもエラーチェックはしていません。) minFraction には、小数点部に与える固定値を指定します。入力文字列が その桁数より少ない場合は、0埋めします。 多い場合は、四捨五入します。 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(String url1, String... urls)
      指定のURL文字列同士を連結させます。 そのとき、後方URLが、絶対パスの場合は、連結せず 後方URLを返します。 第2引数以降は、絶対パス判定をせず直前のURLの末尾判定のみで連結します。 絶対パスかどうかは、通常のファイル属性と同様に、先頭が、'/' (UNIX)または、 2文字目が、":" (Windows)の場合、または、先頭が "\" (ネットワークパス)で 始まる場合で判断します。 連結時に、前方URLの末尾に "/" を付加します。 処理の互換性確保のため、第3引数の可変長引数を追加しています。
      パラメータ:
      url1 - 先頭URL String
      urls - 後方URL可変長String(絶対パスの場合は、返り値)
      戻り値:
      URL文字列同士の連結結果 url1 + url2(url2が絶対パスの場合は、url2から連結開始)
      変更履歴:
      5.0.0.1 (2009/08/15) 不要なオブジェクトの生成を抑制する。, 5.6.5.2 (2013/06/21) 第3引数を可変長引数に変更, 6.4.5.0 (2016/04/08) 引数をCharSequenceに変更, 6.4.7.2 (2016/06/20) 絶対パスの判定を、可変長URLにも適用する。, 8.5.4.2 (2024/01/12) isNull の引数を String に変更したための変更
      このメソッドは、nullを返しません
    • getUnicodeEscape

      public static String getUnicodeEscape(CharSequence value)
      Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換します。 SJIS(JA16SJIS) で作成されたデータベースに、(NVARCHAR2)を使用して中国語等を登録するのは 非常に複雑でかつ、リスクが大きい処理になります。 ORACLE殿でも、自信を持っては勧められない機能とのコメントを頂いています。 そこで、HTMLでのエスケープ文字を使用して、Unicodeを文字列化して登録する為の DBType として、新規に作成します。 ここでは、入力文字を、キャラクタ(char)型に分解し、(&#xZZZZ;)に変換していきます。 よって、通常に1文字(Shift-JISで2Byte,UTF-8で3Byte)が、8Byteになります。 この変換された文字列を、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;)の8Byteを、もとのキャラクタコードに戻し、合成します。 ここでは、通常の文字列に混在したエスケープ文字も戻せるようにします。
      パラメータ:
      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 が返ります)
      関連項目:
      変更履歴:
      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
      関連項目:
      変更履歴:
      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) 新規作成