【MQL4勉強プログラミング】StringReplace()関数で指定した文字列の一部分を置換する

StringReplace()関数は、指定した文字列の一部分(=部分文字列)を置換するために使用します。

StringReplace()関数は、以下のように定義されています。

int StringReplace(
string& str,
const string find,
const string replacement
);

各引数の意味は、以下のとおりです。

  • string& str
    置換したい部分文字列を含む文字列を指定します。
  • const string find
    置換される部分文字列を指定します。
  • const string replacement
    置換する文字列を指定します。

戻り値

StringReplace()関数が正常に実行されると、置換された部分文字列の個数が返されます。

エラーが生じた場合は、「-1」が返されます。

エラーコードを取得したい場合は、GetLastError()関数(詳細は「こちら」を参照してください。)を使用します。

注意点

StringReplace()関数が正常に実行されたが、置換が行われなかった場合(=置換される部分文字列が見つからなかった場合)は、「0」が返されます。

エラーは、以下の場合に生じます。

  • 第一引数又は第二引数に間違った値を指定した場合
  • 置換を行うのに必要なメモリーが不足している場合

具体例


string text =
"The quick brown fox jumped over the lazy dog.";

//「quick」を「slow」に置換 
int replaced = StringReplace(text,"quick","slow");

//「brown」を「black」に置換
replaced    += StringReplace(text,"brown","black");

//「fox」を「bear」に置換 
replaced    +=StringReplace(text,"fox","bear"); 

//置換処理後の文字列を出力
Print("Replaced: ", replaced,". Result = ",text); 
   
//以下のように出力される 
/*Replaced: 3. Result = The slow black bear jumped over the lazy dog.*/
  • Print()関数の詳細については「こちら」を参照してください。