連載 各データ型の処理:文字列
0 1005

このトピックでは、Pegaでの文字列処理の方法を取り上げて説明します。

文字列型(Pega type: Text)は、Pega内部でJavaのString型を使用し表現されます。

チェック処理

Pega標準で用意された関数を一部抜粋します。

  • @isDouble(inputString)
    文字列が有効な倍精度数を表しているかどうかをチェックします。
  • @isInteger(inputString)
    文字列が有効な整数を表しているかどうかをチェックします。
  • @isLiteral(inputString)
    入力がリテラルかプロパティ参照かをチェックします。

検索処理

Pega標準で用意された関数を一部抜粋します。

  • @indexOf(strStringToSearch,strStringToSearchFor)
    strStringToSearchForにstrStringToSearchが最初に現れたインデックスを返します。値が見つからない場合は -1 を返します。
  • @substring(stringToUse,startIndex,endIndex)

    文字列のインデックスは0から数えられます。

変換処理

Pega標準で用意された関数を一部抜粋します。

  • @toDate(inputString)
    文字列を日付型に変換します。
  • @toDateTime(inputString)
    文字列を日時型に変換します。
  • @toDecimal(inputString)
    文字列を数値型に変換します。
  • @toInt(inputString)
    文字列を整数型に変換します。
  • @toLowerCase(inputString)
    文字列をすべt小文字に変換します。
  • @toUpperCase(inputString)
    文字列をすべて大文字に変換します。

編集処理

Pega標準で用意された関数を一部抜粋します。

  • @replaceAll(aBaseString,aOriginalChars,aNewChars)
    文字列aBaseStringのサブ文字列aOriginalCharsをaNewCharsに置き換えて返します。
  • @trim(str)
    strの頭と後ろのスペースを削除して返します。

補足

テキスト関連のPega標準関数はおもに「String」というライブラリで纏めて公開されているため、Designer StudioのRecordsブラウザで確認できます。

0 1005
みんなのツイート (0)

関連サマリー


  • テクニカル 0 Votes 1742 閲覧数


    用途

    日時を指定フォーマットで文字列に変換する。

    構文

    @FormatDateTime(strDateTime, strPattern, strTimeZone, strLocale)

    パラメータ strPattern

    javaのSimpleDateFormatクラスの日付パターンに従っています。

    文字説明出力例(記述例)G紀元AD(G)y年1996(yyyy); 96(yy)M月July(MMMM); Jul(MM); 07(MM)w年における週27(ww)W月における週2(W)D年における日189(DDD)d月における日10(dd)F月における曜日2(F)E曜日の名前Tuesday(EEEEEEE); Tue(EEE);u 曜日の番号(1:月曜、・・・7:日曜)1(u)a午前/午後PM(a)H一日における時(0 - 23)00(HH)k一日における時(1 - 24)24(kk)K午前/午後の時(0 - 11)00(KK)h午前/午後の時(1 - 12)12(hh)m分30(mm)s秒55(ss)Sミリ秒978(SSS)z一般的なタイムゾーンPacific Standard Time; PST; GMT-08:00

  • テクニカル 0 Votes 694 閲覧数


    このトピックでは、Pegaにおける日付の処理方法を纏めて説明します。

    Pegaでは内部的にBigDecimal(com.ibm.icu.math.BigDecimal)型を使用して、日付の値(1970/01/01からの日数)を保持しています。

    なお、YYYYMMDD形式の文字列として日付型プロパティの値を読み書きできます。

    但し、から文字列を設定する場合、プロパティの値が自動的に1970101に設定されるため、「空白」の表示にするには、設定処理自体をしないようにしましょう。

    計算処理

    (日付の加減算を行う)

    指定された日付より何日前又は、何日後の日付を計算するには、addDays()関数を使用します。

    構文
    @(Pega-RULES: BusinessCalendar).addDays(startDate, daysToAdd, useBusinessCalendar, calendarName)例
    例1: @(Pega-RULES: BusinessCalendar).addDays("20190808",30,false,Default)   ⇒ 20190907
    例2: @(Pega-RULES: BusinessCalendar).addDays("20190808",-9,false,Default)   ⇒ 20190730  

    (日数を求める)

    二つの日付の間の日数を計算するには、differenceBetweenDays()関数を使用します。

    構文
    @differenceBetweenDays(firstDate, secondDate, useBusinessCalendar, calendarName)例
    @differenceBetweenDays("20190808","20190701",false,DEFAULT)  ⇒ 38 

    (月の末日を取得する)

    Calendar cal = Calendar.getInstance(); DateTimeUtils dtu = ThreadContainer.get().getDateTimeUtils();   //get info of date in parameter cal.setTime(dtu.parseDateTimeString(theDate)); calc.set(Calendar.DATE, c.getActualMaximum(Calendar.DATE));   Date lastDate = c.getTime();   return dtu.formatDateTime(dtu.formatDateTimeStamp(lastDate),"yyyyMMdd",null,null); チェック処理

    (営業日かどうかをチェック)

    営業日かどうかをチェックするには、isBusinessDay()関数を使用します。

    構文
    @isBusinessDay(theDate,  calendarName)例
    例1: @isBusinessDay("20190803",DEFAULT)  ⇒ true     // 土曜日、法定休日でないため、営業日扱い 
    例2: @isBusinessDay("20190804",DEFAULT)   ⇒ false   // 日曜日