【MQL4勉強プログラミング】StringFind()関数で指定した文字列に含まれる一定の文字列)の位置を取得

ザフナーラボブログ

StringFind()関数は、指定した文字列に含まれる、一定の文字列(=部分文字列)の位置を取得するために使用します。

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

int StringFind(
string string_value,
string match_substring,
int start_pos=0
);

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

  • string string_value
    部分文字列の位置を検索する対象となる文字列を指定します。
  • string match_substring
    検索する部分文字列を指定します。
  • int start_pos=0
    部分文字列の検索を開始する位置を指定します。
    検索を開始する位置は、「0」から始まります。

戻り値

第一引数で指定した文字列の中における、第二引数で指定した部分文字列の位置を返します。

第一引数で指定した文字列の中に、第二引数で指定した部分文字列がなかった場合は、「-1」を返します。

具体例


#property strict

#property show_confirm

void OnStart()
{
  string text =
  ”The quick brown dog jumps over the lazy fox.”;
  //文字列型の変数「text」に文字列を代入。
  
  int index = StringFind(text,”dog jumps over”,0);
  //StringFind()関数で「dog jumps over」の位置を検索。
  
  Print(“Index=”,index);
  //「ターミナルウィンドウ」に「Index=16」と表示される。
}