19.3.2 文字列を抽出する
文字列「0123-4567-89AB-CDEF」から英数字だけを抽出して、RecDFile.logへ実行結果を出力する例を次に示します。
(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