【MQL5】StringReplace関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

StringReplace関数の働き・役割

StringReplace関数は、指定された文字列内で見つかったすべての部分文字列を別の文字列に置き換えるために使用されます。StringReplace関数は、文字列操作の中で頻繁に使われる便利な機能です。

StringReplace関数の引数について

StringReplace関数は、以下の3つの引数を取ります:

  • const string find: 検索対象の部分文字列
  • const string replacement: 検索対象に置き換わる文字列

StringReplace関数の戻り値について

StringReplace関数は、成功した場合には置き換えの回数を返し、失敗した場合には-1を返します。エラーコードを取得するためには、GetLastError関数を使用します。

GetLastError関数についての詳細は↓の記事をご参照ください

StringReplace関数を使う際の注意点

  • 置き換え対象の文字列が見つからなかった場合、StringReplace関数は0を返します。
  • 無効な文字列や初期化されていない文字列引数に渡した場合、エラーが発生することがあります。
  • 十分なメモリがない場合もエラーが発生します。

StringReplace関数を使ったサンプルコード

以下に、StringReplace関数を使用して文字列内の部分文字列を置き換える例を示します。

// OnStart関数はスクリプトの実行が開始されたときに自動的に呼び出されます
void OnStart() 
{
    // 初期の文字列を定義します
    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, ". 結果: ", text);
    
    /*
    結果:
    置き換えた回数: 3. 結果: The slow black bear jumped over the lazy dog.
    */
}

サンプルコードに使われた関数や文法要素の簡単な解説

このように、複合代入演算子を使用することで、コードを簡潔にし、同じ変数に対して複数の操作を連続して行う際の可読性を向上させることができます。

複合代入演算子の詳細は↓の記事リンクをご参照ください。

<参照>

StringAdd関数/StringBufferLen関数/StringCompare関数/StringLen関数/StringConcatenate関数/StringFill関数/StringInit関数/StringFind関数/StringGetCharacter関数/StringSetLength関数/StringReserve関数/StringSetCharacter関数/StringSplit関数/StringSubstr関数/StringToLower関数/StringToUpper関数/StringTrimLeft関数/StringTrimRight関数

コメント

タイトルとURLをコピーしました