StringSubstr関数の働き・役割
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/b365ff59c5f4d64c9a90ba75a4132854-1024x585.webp)
StringSubstr関数は、指定した文字列の一部を抽出するために使用されます。StringSubstr関数を使用することで、元の文字列から特定の位置から始まる部分文字列を取得することができます。文字列操作の際に便利です。
StringSubstr関数の引数について
StringSubstr関数は以下の引数を取ります。
string StringSubstr(const string text, int start, int length = 0);
第1引数は、元の文字列です。種類はstring型です。
第2引数は、抽出を開始する位置を示すインデックスです。種類はint型です。インデックスは0から始まります。
第3引数は、抽出する文字数です。種類はint型です。初期値は0で、0の場合は開始位置から文字列の終わりまでを抽出します。
StringSubstr関数の戻り値について
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/4a3982ab93eee1f3dba122e6b629a781-1024x585.webp)
StringSubstr関数は、指定した部分文字列を返します。もし開始位置が文字列の範囲外である場合、空の文字列を返します。抽出する文字数が開始位置からの残りの文字数を超える場合も、開始位置から文字列の終わりまでを返します。
StringSubstr関数を使う際の注意点
開始位置(第2引数で指定するインデックス)が文字列の長さを超える場合、StringSubstr関数は空の文字列を返します。
抽出する文字数(第3引数で指定する文字数)が省略された場合、開始位置から文字列の終わりまでが抽出されます。
負のインデックスや負の長さを指定するとエラーが発生します。
StringSubstr関数を使ったサンプルコード
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/96ae21a638c1abea4d6ab386cf6721b6-1024x585.webp)
以下は、StringSubstr関数を使用して特定の文字列の一部を抽出するサンプルコードです。
void OnStart()
{
// 操作対象の文字列を定義します
string text = "Hello World!";
// 文字列の6番目の位置から5文字を抽出します
string result = StringSubstr(text, 6, 5);
// 結果をエキスパートログに出力します
Print("抽出された部分文字列: ", result); // 結果: "World"
}
サンプルコードに使われた関数や文法要素の簡単な解説
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/0b4e709f2391fce417372c83adc29c71-1024x585.webp)
OnStart関数は、スクリプトの実行が開始されたときに自動的に呼び出される関数です。
Print関数は、指定したメッセージをエキスパートログに出力するための関数です。デバッグ情報や結果を確認するために使用します。
StringSubstr関数は、指定した文字列の特定の位置から部分文字列を抽出するための関数です。
このサンプルコードでは、文字列「Hello World!」の6番目の位置から5文字を抽出する操作を行っています。StringSubstr関数の実行結果はエキスパートログに出力され、抽出された部分文字列「World」が表示されます。
※インデックスは0から開始するという事、スペースも1文字として含めるという点に注意してください。
StringSubstr関数を活用することで、文字列の一部を効率的に抽出し、必要な部分だけを操作することができます。これにより、文字列データの処理や操作がより柔軟になります。
<参照>
StringAdd関数/StringBufferLen関数/StringCompare関数/StringLen関数/StringConcatenate関数/StringFill関数/StringInit関数/StringFind関数/StringGetCharacter関数/StringSetLength関数/StringReserve関数/StringReplace関数/StringSetCharacter関数/StringSplit関数/StringToLower関数/StringToUpper関数/StringTrimLeft関数/StringTrimRight関数
![](https://mqlinvestmentlab.com/wp-content/uploads/2024/06/6c7d2e24bef155d1d6cf54562d31f5a6-1024x585.webp)