文字列を3つに分割
お問い合わせ分類:シナリオ
( 導入環境:Windows10Pro(64bit)/物理PC )
( バージョン情報:v6.1.0 )
( ご利用中の資材:「管理者ユーザー用」(旧インストール版) )
お世話になります。
シナリオ内で”文字列を3つに分割”のライブラリを使用しているのですが、欲しい結果が出る時と出ない時があり、解決方法が分からず質問させて頂きます。
【内容】
分割したい文字列を変数に格納
↓
”文字列を3つに分割”で、区切文字列で分割
↓
区切文字列を含んでいるのに、分割結果の変数が格納される時とされない時がある
(上手くいく時)… 部分実行の時は分割できている
(上手くいかない時)… シナリオ実行した時に分割ができない
【現状とやってみた事】
①”文字列を3つに分割”のスクリプトは、6つに分割するように編集しています。
分割結果が6つ以下の場合もあるため、エラー回避の為に例外処理の正常系にスクリプト編集した”文字列を3つに分割”を配置しています。
スクリプト編集していない通常の”文字列を3つに分割”のノードでシナリオ実行した場合でも、分割ができない状況です。
以下に編集したスクリプトです。
インプット変数と文字列分割のstr_4~str_6を追加しています。
また、Call SetUMSVariable(str_1,aryStrings(0))のところ、Call SetUMSVariable(str_1,aryStrings(1))に編集しています。
'---------------------------------------------------------------
'メイン
'---------------------------------------------------------------
'インプット変数
str = !分割元文字列!
spliter = !区切文字列!
str_1 = $分割文字列1$
str_2 = $分割文字列2$
str_3 = $分割文字列3$
str_4 = $分割文字列4$
str_5 = $分割文字列5$
str_6 = $分割文字列6$
'入力チェック
If Len(spliter) = 0 Then
errorMsg = "区切文字列を入力してください"
Err.Raise 1, "", errorMsg
WScript.Quit
End If
'文字列分割
aryStrings = Split(str,spliter)
Call SetUMSVariable(str_1,aryStrings(1))
Call SetUMSVariable(str_2,aryStrings(2))
Call SetUMSVariable(str_3,aryStrings(3))
Call SetUMSVariable(str_4,aryStrings(4))
Call SetUMSVariable(str_5,aryStrings(5))
Call SetUMSVariable(str_6,aryStrings(6))
②処理速度の問題を考え、スロー実行や待機系のノードも入れてみましたが、結果は同じでした。
何かしら解決方法が分かれば幸いです。
よろしくお願い致します。