4.3.2 文字列を抽出する

文字列「0123-4567-89AB-CDEF」から英数字だけを抽出して,RecDFile.logへ実行結果を出力する例を次に示します。

<この項の構成>
(1) 記述例
(2) 実行結果

(1) 記述例

strStrName = "0123-4567-89AB-CDEF";    // 文字列
strSearchStr = "-";                    // 検索文字列
nStartPos = 0;
while(TRUE)
 // 抽出する文字列の長さを取得します。
 nLength = AIT_FindSubStr(strStrName, strSearchStr, nStartPos);
 if (nLength == -1)
   // 最後に抽出する文字列を設定します。
   strSubString = strStrName;
   AIT_LogMessage("strSubString = " + strSubString);
   // 文字列の抽出を終了します。
   break;
 else
   // 文字列を抽出します。
   if (!AIT_GetSubStr(strSubString, strStrName, nStartPos, nLength))
     AIT_LogMessage("AIT_GetSubStr failed");
     break;
   else
     AIT_LogMessage("strSubString = " + strSubString);
   endif;
   // 抽出する文字列から抽出した文字列を削除します。
   strStrName = AIT_StrLTrim(strStrName, strSubString);
   strStrName = AIT_StrLTrim(strStrName, strSearchStr);
   strSubString = "";
 endif;
loop;
// strStrNameは処理開始前の値と異なります。
AIT_LogMessage("strStrName = " + strStrName);

(2) 実行結果

RecDFile.logへの出力結果を次に示します。

strSubString = 0123
strSubString = 4567
strSubString = 89AB
strSubString = CDEF
strStrName = CDEF