StringGetCharacter関数の働き・役割
StringGetCharacter関数は、指定された位置にある文字を取得するために使用されます。StringGetCharacter関数を使用することで、文字列の特定の位置にある文字を取得することができます。例えば、文字列の各文字を順番に処理する場合に便利です。
StringGetCharacter関数の引数について
StringGetCharacter関数は以下の引数を取ります:
- str – 文字を取得する対象の文字列。
- index – 取得する文字の位置。この位置は0から始まります。
例:StringGetCharacter("Hello", 1)
という呼び出しは、「Hello」という文字列の中で、2番目の文字(「e」)を取得します。
StringGetCharacter関数の戻り値について
StringGetCharacter関数は、指定された位置にある文字を返します。
戻り値はushort型です。この値はUnicodeコードポイントを表します。例えば、’A’のUnicodeコードポイントは65です
StringGetCharacter関数を使う際の注意点
- 文字列のインデックスは0から始まります。つまり、最初の文字はインデックス「0」でアクセスされます。
- 指定したインデックスが文字列の長さを超える場合、関数は0を返します。
- 負のインデックスを指定すると無効です。
StringGetCharacter関数を使ったサンプルコード
以下に、StringGetCharacter関数を使用したサンプルコードを示します。このコードは、元の文字列の特定の位置にある文字を取得し、その文字とそのUnicodeコードポイントをエキスパートログに出力します。
void OnStart()
{
// 対象の文字列
string original = "Hello, MQL5!";
// 取得する文字の位置
int index = 7;
// 指定された位置にある文字を取得します
ushort character = StringGetCharacter(original, index);
// 取得した文字とそのUnicodeコードポイントをエキスパートログに出力します
Print("位置: ", index, " にある文字: ", CharToString(character), " (Unicode: ", character, ")");
}
このサンプルコードの出力結果は以下の通りです:
位置: 7 にある文字: M (Unicode: 77)
Unicodeコードポイントとは?
Unicodeコードポイントは、各文字に一意に割り当てられた番号です。例えば、文字 ‘A’ のUnicodeコードポイントは65であり、これはその文字の識別子として使用されます。
※unicode自体についての詳細は↓の記事をご参照ください
サンプルコードに使われた関数や文法要素の簡単な解説
- OnStart関数: スクリプトが実行されるときに自動的に呼び出されます。
- StringGetCharacter関数: 指定された位置にある文字を取得します。
- CharToString関数: Unicodeコードポイントを文字列に変換します。
- Print関数: エキスパートログにメッセージを出力するために使用されます。
<参照>
StringAdd関数/StringBufferLen関数/StringCompare関数/StringLen関数/StringConcatenate関数/StringFill関数/StringInit関数/StringFind関数/StringSetLength関数/StringReplace関数/StringReserve関数/StringSetCharacter関数/StringSplit関数/StringSubstr関数/StringToLower関数/StringToUpper関数/StringTrimLeft関数/StringTrimRight関数