文字列の置換
REPLACE命令は、IN1で指定された文字列の文字を、IN2で指定された文字列に置換します。置換する文字数(長さ)は、Lで指定します。置換の開始位置は、Pで指定します。演算結果の文字列は、出力変数に書き込まれます。
入力
先頭の入力文字列
置換文字列
置換する入力文字列の文字数
置換する入力文字列の開始位置。1は文字列の1文字目になります
出力
結果文字列
この命令をUTF-8文字列で使用する場合は、データ型STRINGのUTF-8文字列についての注意事項をご参照ください。
文字列がフィールド「Type」の入力変数input_string_1とinput_string_2として定義された長さよりも長い場合、エラーが発生します( をご参照ください)
入力または出力に適用される文字列が無効な文字列のとき
入力または出力に適用される文字列が無効な文字列のとき
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
output_value: STRING[32]:='';
END_VAR
この例では、定数をファンクションの入力に直接記述します。POUヘッダで変数を宣言することもできます。POUヘッダ、ファンクションとも、文字列には引用符をつけてください。この例では、文字列'MrSpock'の'c'が'o'に置き換えられて、'MrSpook'となります。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_VARIN,,'MrSpock',6,1,8,3,);
B(B_VARIN,,'o',6,2,8,4,);
B(B_VARIN,,1,6,3,8,5,);
B(B_VARIN,,6,6,4,8,6,);
B(B_VAROUT,,output_value,14,1,16,3,);
B(B_F,REPLACE!,Instance,8,0,14,6,,?DIN1?DIN2?DL?DP?C);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY